Bump the kotlin-deps group in /kotlin with 5 updates
Bumps the kotlin-deps group in /kotlin with 5 updates:
| Package | From | To |
|---|---|---|
| io.ktor:ktor-client-core | 3.5.1 | 3.5.2 |
| io.ktor:ktor-client-cio | 3.5.1 | 3.5.2 |
| io.ktor:ktor-client-mock | 3.5.1 | 3.5.2 |
| io.ktor:ktor-client-content-negotiation | 3.5.1 | 3.5.2 |
| io.ktor:ktor-serialization-kotlinx-json | 3.5.1 | 3.5.2 |
Updates io.ktor:ktor-client-core from 3.5.1 to 3.5.2
Release notes
Sourced from io.ktor:ktor-client-core's releases.
3.5.2
Published 31 July 2026
Improvements
- KTOR-8032 RateLimit: Allow limit requests based on authentication result
- KTOR-9719
ApplicationCall.isStaticContentreturns false when called from plugin interceptors- KTOR-8450 ContentNegotiation: it doesn't handle content type suffixes
- KTOR-7892 SwaggerUI: Missing oauth2-redirect.html support in the plugin
- KTOR-9759 Reject whitespace in URL hosts during parsing
- KTOR-9681 Update kotlinx-io to 0.9.1
- KTOR-9743 ByteReadChannel.readLineStrict: Misleading definition of limit parameter in KDocs
- KTOR-9504 Improve KDoc for EmbeddedServer.addShutdownHook
Bugfixes
- KTOR-9741 CIO: request-handler coroutine leak on half-closed idle connection after ≥1MB response
- KTOR-7661 Maven + YAML config file does not work
- KTOR-9585 OpenAPI: JsonSchema title is truncated when it contains a dot
- KTOR-9704 UTF-8 encoding in ktor-io bypasses JVM String.getBytes intrinsics, slowing every text response by 5-7x
- KTOR-9588 SSE client (CIO engine) sends spurious
Content-Length: 0on body-less GET (RFC 9110 § 8.6 violation; rejected by AWS ELB)- KTOR-9679 ByteReadChannel.readLine corrupts multi-byte UTF-8 by splitting a character at a buffer boundary
- KTOR-9767 ByteReadChannel.readLineTo: Return read bytes count instead of decoded characters count
- KTOR-8992 HoconConfigLoader is not loaded when ktor-server-config-yaml on the classpath
- KTOR-9698 OpenAPI: schema for kotlinx.serialization sealed types omits discriminator property in variant schemas
- KTOR-9690 Netty: in-flight requests are aborted on stop(), ignoring shutdown grace period
- KTOR-8903 Netty: Close channel connection on errors properly
- KTOR-9707 SaveBody performance regression
- KTOR-9703 Inefficient text reading function in DefaultTransform
- KTOR-9711 Netty HTTP/2: a single client-canceled stream (RST_STREAM) breaks response flushing for the whole connection
- KTOR-9688 RateLimit: No access to principal when wrapped with authentication since 3.5.1
- KTOR-9677 Auto-reloading: server is reloaded only once since 3.5.0
- KTOR-9683 Sockets: Canceling a SelectorManager job doesn't close it properly
- KTOR-9671 Darwin: Semicolons in URL path are sanitized
Changelog
Sourced from io.ktor:ktor-client-core's changelog.
3.5.2
Published 31 July 2026
Improvements
- KTOR-8032 RateLimit: Allow limit requests based on authentication result
- KTOR-9719
ApplicationCall.isStaticContentreturns false when called from plugin interceptors- KTOR-8450 ContentNegotiation: it doesn't handle content type suffixes
- KTOR-7892 SwaggerUI: Missing oauth2-redirect.html support in the plugin
- KTOR-9759 Reject whitespace in URL hosts during parsing
- KTOR-9681 Update kotlinx-io to 0.9.1
- KTOR-9743 ByteReadChannel.readLineStrict: Misleading definition of limit parameter in KDocs
- KTOR-9504 Improve KDoc for EmbeddedServer.addShutdownHook
Bugfixes
- KTOR-9741 CIO: request-handler coroutine leak on half-closed idle connection after ≥1MB response
- KTOR-7661 Maven + YAML config file does not work
- KTOR-9585 OpenAPI: JsonSchema title is truncated when it contains a dot
- KTOR-9704 UTF-8 encoding in ktor-io bypasses JVM String.getBytes intrinsics, slowing every text response by 5-7x
- KTOR-9588 SSE client (CIO engine) sends spurious
Content-Length: 0on body-less GET (RFC 9110 § 8.6 violation; rejected by AWS ELB)- KTOR-9679 ByteReadChannel.readLine corrupts multi-byte UTF-8 by splitting a character at a buffer boundary
- KTOR-9767 ByteReadChannel.readLineTo: Return read bytes count instead of decoded characters count
- KTOR-8992 HoconConfigLoader is not loaded when ktor-server-config-yaml on the classpath
- KTOR-9698 OpenAPI: schema for kotlinx.serialization sealed types omits discriminator property in variant schemas
- KTOR-9690 Netty: in-flight requests are aborted on stop(), ignoring shutdown grace period
- KTOR-8903 Netty: Close channel connection on errors properly
- KTOR-9707 SaveBody performance regression
- KTOR-9703 Inefficient text reading function in DefaultTransform
- KTOR-9711 Netty HTTP/2: a single client-canceled stream (RST_STREAM) breaks response flushing for the whole connection
- KTOR-9688 RateLimit: No access to principal when wrapped with authentication since 3.5.1
- KTOR-9677 Auto-reloading: server is reloaded only once since 3.5.0
- KTOR-9683 Sockets: Canceling a SelectorManager job doesn't close it properly
- KTOR-9671 Darwin: Semicolons in URL path are sanitized
Commits
01c469aRelease 3.5.2 (#5781)c965a0cKTOR-9741 Prevent CIO request handler leak (#5783)74df458chore: fix some comments to improve readability2672567[KTOR-9704] Optimized encoding flow for UTF-8 (#5743)d5680edKTOR-5391: Document ECDSA certificate limitation for client authentication (#...9b0f356something::javaClass.nameis not the name of the class of something but `"j...58256cdKTOR-9743 Clarify readLine documentation088bd60KTOR-9679 Fix regressions caused by adding buffering167176aKTOR-9588 Do not send Content-Length: 0 for body-less GET requests (#5620)7fb0844KTOR-9585 Fix schema title trimming- Additional commits viewable in compare view
Updates io.ktor:ktor-client-cio from 3.5.1 to 3.5.2
Release notes
Sourced from io.ktor:ktor-client-cio's releases.
3.5.2
Published 31 July 2026
Improvements
- KTOR-8032 RateLimit: Allow limit requests based on authentication result
- KTOR-9719
ApplicationCall.isStaticContentreturns false when called from plugin interceptors- KTOR-8450 ContentNegotiation: it doesn't handle content type suffixes
- KTOR-7892 SwaggerUI: Missing oauth2-redirect.html support in the plugin
- KTOR-9759 Reject whitespace in URL hosts during parsing
- KTOR-9681 Update kotlinx-io to 0.9.1
- KTOR-9743 ByteReadChannel.readLineStrict: Misleading definition of limit parameter in KDocs
- KTOR-9504 Improve KDoc for EmbeddedServer.addShutdownHook
Bugfixes
- KTOR-9741 CIO: request-handler coroutine leak on half-closed idle connection after ≥1MB response
- KTOR-7661 Maven + YAML config file does not work
- KTOR-9585 OpenAPI: JsonSchema title is truncated when it contains a dot
- KTOR-9704 UTF-8 encoding in ktor-io bypasses JVM String.getBytes intrinsics, slowing every text response by 5-7x
- KTOR-9588 SSE client (CIO engine) sends spurious
Content-Length: 0on body-less GET (RFC 9110 § 8.6 violation; rejected by AWS ELB)- KTOR-9679 ByteReadChannel.readLine corrupts multi-byte UTF-8 by splitting a character at a buffer boundary
- KTOR-9767 ByteReadChannel.readLineTo: Return read bytes count instead of decoded characters count
- KTOR-8992 HoconConfigLoader is not loaded when ktor-server-config-yaml on the classpath
- KTOR-9698 OpenAPI: schema for kotlinx.serialization sealed types omits discriminator property in variant schemas
- KTOR-9690 Netty: in-flight requests are aborted on stop(), ignoring shutdown grace period
- KTOR-8903 Netty: Close channel connection on errors properly
- KTOR-9707 SaveBody performance regression
- KTOR-9703 Inefficient text reading function in DefaultTransform
- KTOR-9711 Netty HTTP/2: a single client-canceled stream (RST_STREAM) breaks response flushing for the whole connection
- KTOR-9688 RateLimit: No access to principal when wrapped with authentication since 3.5.1
- KTOR-9677 Auto-reloading: server is reloaded only once since 3.5.0
- KTOR-9683 Sockets: Canceling a SelectorManager job doesn't close it properly
- KTOR-9671 Darwin: Semicolons in URL path are sanitized
Changelog
Sourced from io.ktor:ktor-client-cio's changelog.
3.5.2
Published 31 July 2026
Improvements
- KTOR-8032 RateLimit: Allow limit requests based on authentication result
- KTOR-9719
ApplicationCall.isStaticContentreturns false when called from plugin interceptors- KTOR-8450 ContentNegotiation: it doesn't handle content type suffixes
- KTOR-7892 SwaggerUI: Missing oauth2-redirect.html support in the plugin
- KTOR-9759 Reject whitespace in URL hosts during parsing
- KTOR-9681 Update kotlinx-io to 0.9.1
- KTOR-9743 ByteReadChannel.readLineStrict: Misleading definition of limit parameter in KDocs
- KTOR-9504 Improve KDoc for EmbeddedServer.addShutdownHook
Bugfixes
- KTOR-9741 CIO: request-handler coroutine leak on half-closed idle connection after ≥1MB response
- KTOR-7661 Maven + YAML config file does not work
- KTOR-9585 OpenAPI: JsonSchema title is truncated when it contains a dot
- KTOR-9704 UTF-8 encoding in ktor-io bypasses JVM String.getBytes intrinsics, slowing every text response by 5-7x
- KTOR-9588 SSE client (CIO engine) sends spurious
Content-Length: 0on body-less GET (RFC 9110 § 8.6 violation; rejected by AWS ELB)- KTOR-9679 ByteReadChannel.readLine corrupts multi-byte UTF-8 by splitting a character at a buffer boundary
- KTOR-9767 ByteReadChannel.readLineTo: Return read bytes count instead of decoded characters count
- KTOR-8992 HoconConfigLoader is not loaded when ktor-server-config-yaml on the classpath
- KTOR-9698 OpenAPI: schema for kotlinx.serialization sealed types omits discriminator property in variant schemas
- KTOR-9690 Netty: in-flight requests are aborted on stop(), ignoring shutdown grace period
- KTOR-8903 Netty: Close channel connection on errors properly
- KTOR-9707 SaveBody performance regression
- KTOR-9703 Inefficient text reading function in DefaultTransform
- KTOR-9711 Netty HTTP/2: a single client-canceled stream (RST_STREAM) breaks response flushing for the whole connection
- KTOR-9688 RateLimit: No access to principal when wrapped with authentication since 3.5.1
- KTOR-9677 Auto-reloading: server is reloaded only once since 3.5.0
- KTOR-9683 Sockets: Canceling a SelectorManager job doesn't close it properly
- KTOR-9671 Darwin: Semicolons in URL path are sanitized
Commits
01c469aRelease 3.5.2 (#5781)c965a0cKTOR-9741 Prevent CIO request handler leak (#5783)74df458chore: fix some comments to improve readability2672567[KTOR-9704] Optimized encoding flow for UTF-8 (#5743)d5680edKTOR-5391: Document ECDSA certificate limitation for client authentication (#...9b0f356something::javaClass.nameis not the name of the class of something but `"j...58256cdKTOR-9743 Clarify readLine documentation088bd60KTOR-9679 Fix regressions caused by adding buffering167176aKTOR-9588 Do not send Content-Length: 0 for body-less GET requests (#5620)7fb0844KTOR-9585 Fix schema title trimming- Additional commits viewable in compare view
Updates io.ktor:ktor-client-mock from 3.5.1 to 3.5.2
Release notes
Sourced from io.ktor:ktor-client-mock's releases.
3.5.2
Published 31 July 2026
Improvements
- KTOR-8032 RateLimit: Allow limit requests based on authentication result
- KTOR-9719
ApplicationCall.isStaticContentreturns false when called from plugin interceptors- KTOR-8450 ContentNegotiation: it doesn't handle content type suffixes
- KTOR-7892 SwaggerUI: Missing oauth2-redirect.html support in the plugin
- KTOR-9759 Reject whitespace in URL hosts during parsing
- KTOR-9681 Update kotlinx-io to 0.9.1
- KTOR-9743 ByteReadChannel.readLineStrict: Misleading definition of limit parameter in KDocs
- KTOR-9504 Improve KDoc for EmbeddedServer.addShutdownHook
Bugfixes
- KTOR-9741 CIO: request-handler coroutine leak on half-closed idle connection after ≥1MB response
- KTOR-7661 Maven + YAML config file does not work
- KTOR-9585 OpenAPI: JsonSchema title is truncated when it contains a dot
- KTOR-9704 UTF-8 encoding in ktor-io bypasses JVM String.getBytes intrinsics, slowing every text response by 5-7x
- KTOR-9588 SSE client (CIO engine) sends spurious
Content-Length: 0on body-less GET (RFC 9110 § 8.6 violation; rejected by AWS ELB)- KTOR-9679 ByteReadChannel.readLine corrupts multi-byte UTF-8 by splitting a character at a buffer boundary
- KTOR-9767 ByteReadChannel.readLineTo: Return read bytes count instead of decoded characters count
- KTOR-8992 HoconConfigLoader is not loaded when ktor-server-config-yaml on the classpath
- KTOR-9698 OpenAPI: schema for kotlinx.serialization sealed types omits discriminator property in variant schemas
- KTOR-9690 Netty: in-flight requests are aborted on stop(), ignoring shutdown grace period
- KTOR-8903 Netty: Close channel connection on errors properly
- KTOR-9707 SaveBody performance regression
- KTOR-9703 Inefficient text reading function in DefaultTransform
- KTOR-9711 Netty HTTP/2: a single client-canceled stream (RST_STREAM) breaks response flushing for the whole connection
- KTOR-9688 RateLimit: No access to principal when wrapped with authentication since 3.5.1
- KTOR-9677 Auto-reloading: server is reloaded only once since 3.5.0
- KTOR-9683 Sockets: Canceling a SelectorManager job doesn't close it properly
- KTOR-9671 Darwin: Semicolons in URL path are sanitized
Changelog
Sourced from io.ktor:ktor-client-mock's changelog.
3.5.2
Published 31 July 2026
Improvements
- KTOR-8032 RateLimit: Allow limit requests based on authentication result
- KTOR-9719
ApplicationCall.isStaticContentreturns false when called from plugin interceptors- KTOR-8450 ContentNegotiation: it doesn't handle content type suffixes
- KTOR-7892 SwaggerUI: Missing oauth2-redirect.html support in the plugin
- KTOR-9759 Reject whitespace in URL hosts during parsing
- KTOR-9681 Update kotlinx-io to 0.9.1
- KTOR-9743 ByteReadChannel.readLineStrict: Misleading definition of limit parameter in KDocs
- KTOR-9504 Improve KDoc for EmbeddedServer.addShutdownHook
Bugfixes
- KTOR-9741 CIO: request-handler coroutine leak on half-closed idle connection after ≥1MB response
- KTOR-7661 Maven + YAML config file does not work
- KTOR-9585 OpenAPI: JsonSchema title is truncated when it contains a dot
- KTOR-9704 UTF-8 encoding in ktor-io bypasses JVM String.getBytes intrinsics, slowing every text response by 5-7x
- KTOR-9588 SSE client (CIO engine) sends spurious
Content-Length: 0on body-less GET (RFC 9110 § 8.6 violation; rejected by AWS ELB)- KTOR-9679 ByteReadChannel.readLine corrupts multi-byte UTF-8 by splitting a character at a buffer boundary
- KTOR-9767 ByteReadChannel.readLineTo: Return read bytes count instead of decoded characters count
- KTOR-8992 HoconConfigLoader is not loaded when ktor-server-config-yaml on the classpath
- KTOR-9698 OpenAPI: schema for kotlinx.serialization sealed types omits discriminator property in variant schemas
- KTOR-9690 Netty: in-flight requests are aborted on stop(), ignoring shutdown grace period
- KTOR-8903 Netty: Close channel connection on errors properly
- KTOR-9707 SaveBody performance regression
- KTOR-9703 Inefficient text reading function in DefaultTransform
- KTOR-9711 Netty HTTP/2: a single client-canceled stream (RST_STREAM) breaks response flushing for the whole connection
- KTOR-9688 RateLimit: No access to principal when wrapped with authentication since 3.5.1
- KTOR-9677 Auto-reloading: server is reloaded only once since 3.5.0
- KTOR-9683 Sockets: Canceling a SelectorManager job doesn't close it properly
- KTOR-9671 Darwin: Semicolons in URL path are sanitized
Commits
01c469aRelease 3.5.2 (#5781)c965a0cKTOR-9741 Prevent CIO request handler leak (#5783)74df458chore: fix some comments to improve readability2672567[KTOR-9704] Optimized encoding flow for UTF-8 (#5743)d5680edKTOR-5391: Document ECDSA certificate limitation for client authentication (#...9b0f356something::javaClass.nameis not the name of the class of something but `"j...58256cdKTOR-9743 Clarify readLine documentation088bd60KTOR-9679 Fix regressions caused by adding buffering167176aKTOR-9588 Do not send Content-Length: 0 for body-less GET requests (#5620)7fb0844KTOR-9585 Fix schema title trimming- Additional commits viewable in compare view
Updates io.ktor:ktor-client-content-negotiation from 3.5.1 to 3.5.2
Release notes
Sourced from io.ktor:ktor-client-content-negotiation's releases.
3.5.2
Published 31 July 2026
Improvements
- KTOR-8032 RateLimit: Allow limit requests based on authentication result
- KTOR-9719
ApplicationCall.isStaticContentreturns false when called from plugin interceptors- KTOR-8450 ContentNegotiation: it doesn't handle content type suffixes
- KTOR-7892 SwaggerUI: Missing oauth2-redirect.html support in the plugin
- KTOR-9759 Reject whitespace in URL hosts during parsing
- KTOR-9681 Update kotlinx-io to 0.9.1
- KTOR-9743 ByteReadChannel.readLineStrict: Misleading definition of limit parameter in KDocs
- KTOR-9504 Improve KDoc for EmbeddedServer.addShutdownHook
Bugfixes
- KTOR-9741 CIO: request-handler coroutine leak on half-closed idle connection after ≥1MB response
- KTOR-7661 Maven + YAML config file does not work
- KTOR-9585 OpenAPI: JsonSchema title is truncated when it contains a dot
- KTOR-9704 UTF-8 encoding in ktor-io bypasses JVM String.getBytes intrinsics, slowing every text response by 5-7x
- KTOR-9588 SSE client (CIO engine) sends spurious
Content-Length: 0on body-less GET (RFC 9110 § 8.6 violation; rejected by AWS ELB)- KTOR-9679 ByteReadChannel.readLine corrupts multi-byte UTF-8 by splitting a character at a buffer boundary
- KTOR-9767 ByteReadChannel.readLineTo: Return read bytes count instead of decoded characters count
- KTOR-8992 HoconConfigLoader is not loaded when ktor-server-config-yaml on the classpath
- KTOR-9698 OpenAPI: schema for kotlinx.serialization sealed types omits discriminator property in variant schemas
- KTOR-9690 Netty: in-flight requests are aborted on stop(), ignoring shutdown grace period
- KTOR-8903 Netty: Close channel connection on errors properly
- KTOR-9707 SaveBody performance regression
- KTOR-9703 Inefficient text reading function in DefaultTransform
- KTOR-9711 Netty HTTP/2: a single client-canceled stream (RST_STREAM) breaks response flushing for the whole connection
- KTOR-9688 RateLimit: No access to principal when wrapped with authentication since 3.5.1
- KTOR-9677 Auto-reloading: server is reloaded only once since 3.5.0
- KTOR-9683 Sockets: Canceling a SelectorManager job doesn't close it properly
- KTOR-9671 Darwin: Semicolons in URL path are sanitized
Changelog
Sourced from io.ktor:ktor-client-content-negotiation's changelog.
3.5.2
Published 31 July 2026
Improvements
- KTOR-8032 RateLimit: Allow limit requests based on authentication result
- KTOR-9719
ApplicationCall.isStaticContentreturns false when called from plugin interceptors- KTOR-8450 ContentNegotiation: it doesn't handle content type suffixes
- KTOR-7892 SwaggerUI: Missing oauth2-redirect.html support in the plugin
- KTOR-9759 Reject whitespace in URL hosts during parsing
- KTOR-9681 Update kotlinx-io to 0.9.1
- KTOR-9743 ByteReadChannel.readLineStrict: Misleading definition of limit parameter in KDocs
- KTOR-9504 Improve KDoc for EmbeddedServer.addShutdownHook
Bugfixes
- KTOR-9741 CIO: request-handler coroutine leak on half-closed idle connection after ≥1MB response
- KTOR-7661 Maven + YAML config file does not work
- KTOR-9585 OpenAPI: JsonSchema title is truncated when it contains a dot
- KTOR-9704 UTF-8 encoding in ktor-io bypasses JVM String.getBytes intrinsics, slowing every text response by 5-7x
- KTOR-9588 SSE client (CIO engine) sends spurious
Content-Length: 0on body-less GET (RFC 9110 § 8.6 violation; rejected by AWS ELB)- KTOR-9679 ByteReadChannel.readLine corrupts multi-byte UTF-8 by splitting a character at a buffer boundary
- KTOR-9767 ByteReadChannel.readLineTo: Return read bytes count instead of decoded characters count
- KTOR-8992 HoconConfigLoader is not loaded when ktor-server-config-yaml on the classpath
- KTOR-9698 OpenAPI: schema for kotlinx.serialization sealed types omits discriminator property in variant schemas
- KTOR-9690 Netty: in-flight requests are aborted on stop(), ignoring shutdown grace period
- KTOR-8903 Netty: Close channel connection on errors properly
- KTOR-9707 SaveBody performance regression
- KTOR-9703 Inefficient text reading function in DefaultTransform
- KTOR-9711 Netty HTTP/2: a single client-canceled stream (RST_STREAM) breaks response flushing for the whole connection
- KTOR-9688 RateLimit: No access to principal when wrapped with authentication since 3.5.1
- KTOR-9677 Auto-reloading: server is reloaded only once since 3.5.0
- KTOR-9683 Sockets: Canceling a SelectorManager job doesn't close it properly
- KTOR-9671 Darwin: Semicolons in URL path are sanitized
Commits
01c469aRelease 3.5.2 (#5781)c965a0cKTOR-9741 Prevent CIO request handler leak (#5783)74df458chore: fix some comments to improve readability2672567[KTOR-9704] Optimized encoding flow for UTF-8 (#5743)d5680edKTOR-5391: Document ECDSA certificate limitation for client authentication (#...9b0f356something::javaClass.nameis not the name of the class of something but `"j...58256cdKTOR-9743 Clarify readLine documentation088bd60KTOR-9679 Fix regressions caused by adding buffering167176aKTOR-9588 Do not send Content-Length: 0 for body-less GET requests (#5620)7fb0844KTOR-9585 Fix schema title trimming- Additional commits viewable in compare view
Updates io.ktor:ktor-serialization-kotlinx-json from 3.5.1 to 3.5.2
Release notes
Sourced from io.ktor:ktor-serialization-kotlinx-json's releases.
3.5.2
Published 31 July 2026
Improvements
- KTOR-8032 RateLimit: Allow limit requests based on authentication result
- KTOR-9719
ApplicationCall.isStaticContentreturns false when called from plugin interceptors- KTOR-8450 ContentNegotiation: it doesn't handle content type suffixes
- KTOR-7892 SwaggerUI: Missing oauth2-redirect.html support in the plugin
- KTOR-9759 Reject whitespace in URL hosts during parsing
- KTOR-9681 Update kotlinx-io to 0.9.1
- KTOR-9743 ByteReadChannel.readLineStrict: Misleading definition of limit parameter in KDocs
- KTOR-9504 Improve KDoc for EmbeddedServer.addShutdownHook
Bugfixes
- KTOR-9741 CIO: request-handler coroutine leak on half-closed idle connection after ≥1MB response
- KTOR-7661 Maven + YAML config file does not work
- KTOR-9585 OpenAPI: JsonSchema title is truncated when it contains a dot
- KTOR-9704 UTF-8 encoding in ktor-io bypasses JVM String.getBytes intrinsics, slowing every text response by 5-7x
- KTOR-9588 SSE client (CIO engine) sends spurious
Content-Length: 0on body-less GET (RFC 9110 § 8.6 violation; rejected by AWS ELB)- KTOR-9679 ByteReadChannel.readLine corrupts multi-byte UTF-8 by splitting a character at a buffer boundary
- KTOR-9767 ByteReadChannel.readLineTo: Return read bytes count instead of decoded characters count
- KTOR-8992 HoconConfigLoader is not loaded when ktor-server-config-yaml on the classpath
- KTOR-9698 OpenAPI: schema for kotlinx.serialization sealed types omits discriminator property in variant schemas
- KTOR-9690 Netty: in-flight requests are aborted on stop(), ignoring shutdown grace period
- KTOR-8903 Netty: Close channel connection on errors properly
- KTOR-9707 SaveBody performance regression
- KTOR-9703 Inefficient text reading function in DefaultTransform
- KTOR-9711 Netty HTTP/2: a single client-canceled stream (RST_STREAM) breaks response flushing for the whole connection
- KTOR-9688 RateLimit: No access to principal when wrapped with authentication since 3.5.1
- KTOR-9677 Auto-reloading: server is reloaded only once since 3.5.0
- KTOR-9683 Sockets: Canceling a SelectorManager job doesn't close it properly
- KTOR-9671 Darwin: Semicolons in URL path are sanitized
Changelog
Sourced from io.ktor:ktor-serialization-kotlinx-json's changelog.
3.5.2
Published 31 July 2026
Improvements
- KTOR-8032 RateLimit: Allow limit requests based on authentication result
- KTOR-9719
ApplicationCall.isStaticContentreturns false when called from plugin interceptors- KTOR-8450 ContentNegotiation: it doesn't handle content type suffixes
- KTOR-7892 SwaggerUI: Missing oauth2-redirect.html support in the plugin
- KTOR-9759 Reject whitespace in URL hosts during parsing
- KTOR-9681 Update kotlinx-io to 0.9.1
- KTOR-9743 ByteReadChannel.readLineStrict: Misleading definition of limit parameter in KDocs
- KTOR-9504 Improve KDoc for EmbeddedServer.addShutdownHook
Bugfixes
- KTOR-9741 CIO: request-handler coroutine leak on half-closed idle connection after ≥1MB response
- KTOR-7661 Maven + YAML config file does not work
- KTOR-9585 OpenAPI: JsonSchema title is truncated when it contains a dot
- KTOR-9704 UTF-8 encoding in ktor-io bypasses JVM String.getBytes intrinsics, slowing every text response by 5-7x
- KTOR-9588 SSE client (CIO engine) sends spurious
Content-Length: 0on body-less GET (RFC 9110 § 8.6 violation; rejected by AWS ELB)- KTOR-9679 ByteReadChannel.readLine corrupts multi-byte UTF-8 by splitting a character at a buffer boundary
- KTOR-9767 ByteReadChannel.readLineTo: Return read bytes count instead of decoded characters count
- KTOR-8992 HoconConfigLoader is not loaded when ktor-server-config-yaml on the classpath
- KTOR-9698 OpenAPI: schema for kotlinx.serialization sealed types omits discriminator property in variant schemas
- KTOR-9690 Netty: in-flight requests are aborted on stop(), ignoring shutdown grace period
- KTOR-8903 Netty: Close channel connection on errors properly
- KTOR-9707 SaveBody performance regression
- KTOR-9703 Inefficient text reading function in DefaultTransform
- KTOR-9711 Netty HTTP/2: a single client-canceled stream (RST_STREAM) breaks response flushing for the whole connection
- KTOR-9688 RateLimit: No access to principal when wrapped with authentication since 3.5.1
- KTOR-9677 Auto-reloading: server is reloaded only once since 3.5.0
- KTOR-9683 Sockets: Canceling a SelectorManager job doesn't close it properly
- KTOR-9671 Darwin: Semicolons in URL path are sanitized
Commits
01c469aRelease 3.5.2 (#5781)c965a0cKTOR-9741 Prevent CIO request handler leak (#5783)74df458chore: fix some comments to improve readability2672567[KTOR-9704] Optimized encoding flow for UTF-8 (#5743)d5680edKTOR-5391: Document ECDSA certificate limitation for client authentication (#...9b0f356something::javaClass.nameis not the name of the class of something but `"j...58256cdKTOR-9743 Clarify readLine documentation088bd60KTOR-9679 Fix regressions caused by adding buffering167176aKTOR-9588 Do not send Content-Length: 0 for body-less GET requests (#5620)7fb0844KTOR-9585 Fix schema title trimming- Additional commits viewable in compare view
Updates io.ktor:ktor-client-cio from 3.5.1 to 3.5.2
Release notes
Sourced from io.ktor:ktor-client-cio's releases.
3.5.2
Published 31 July 2026
Improvements
- KTOR-8032 RateLimit: Allow limit requests based on authentication result
- KTOR-9719
ApplicationCall.isStaticContentreturns false when called from plugin interceptors- KTOR-8450 ContentNegotiation: it doesn't handle content type suffixes
- KTOR-7892 SwaggerUI: Missing oauth2-redirect.html support in the plugin
- KTOR-9759 Reject whitespace in URL hosts during parsing
- KTOR-9681 Update kotlinx-io to 0.9.1
- KTOR-9743 ByteReadChannel.readLineStrict: Misleading definition of limit parameter in KDocs
- KTOR-9504 Improve KDoc for EmbeddedServer.addShutdownHook
Bugfixes
- KTOR-9741 CIO: request-handler coroutine leak on half-closed idle connection after ≥1MB response
- KTOR-7661 Maven + YAML config file does not work
- KTOR-9585 OpenAPI: JsonSchema title is truncated when it contains a dot
- KTOR-9704 UTF-8 encoding in ktor-io bypasses JVM String.getBytes intrinsics, slowing every text response by 5-7x
- KTOR-9588 SSE client (CIO engine) sends spurious
Content-Length: 0on body-less GET (RFC 9110 § 8.6 violation; rejected by AWS ELB)- KTOR-9679 ByteReadChannel.readLine corrupts multi-byte UTF-8 by splitting a character at a buffer boundary
- KTOR-9767 ByteReadChannel.readLineTo: Return read bytes count instead of decoded characters count
- KTOR-8992 HoconConfigLoader is not loaded when ktor-server-config-yaml on the classpath
- KTOR-9698 OpenAPI: schema for kotlinx.serialization sealed types omits discriminator property in variant schemas
- KTOR-9690 Netty: in-flight requests are aborted on stop(), ignoring shutdown grace period
- KTOR-8903 Netty: Close channel connection on errors properly
- KTOR-9707 SaveBody performance regression
- KTOR-9703 Inefficient text reading function in DefaultTransform
- KTOR-9711 Netty HTTP/2: a single client-canceled stream (RST_STREAM) breaks response flushing for the whole connection
- KTOR-9688 RateLimit: No access to principal when wrapped with authentication since 3.5.1
- KTOR-9677 Auto-reloading: server is reloaded only once since 3.5.0
- KTOR-9683 Sockets: Canceling a SelectorManager job doesn't close it properly
- KTOR-9671 Darwin: Semicolons in URL path are sanitized
Changelog
Sourced from io.ktor:ktor-client-cio's changelog.
3.5.2
Published 31 July 2026
Improvements
- KTOR-8032 RateLimit: Allow limit requests based on authentication result
- KTOR-9719
ApplicationCall.isStaticContentreturns false when called from plugin interceptors- KTOR-8450 ContentNegotiation: it doesn't handle content type suffixes
- KTOR-7892 SwaggerUI: Missing oauth2-redirect.html support in the plugin
- KTOR-9759 Reject whitespace in URL hosts during parsing
- KTOR-9681 Update kotlinx-io to 0.9.1
- KTOR-9743 ByteReadChannel.readLineStrict: Misleading definition of limit parameter in KDocs
- KTOR-9504 Improve KDoc for EmbeddedServer.addShutdownHook
Bugfixes
- KTOR-9741 CIO: request-handler coroutine leak on half-closed idle connection after ≥1MB response
- KTOR-7661 Maven + YAML config file does not work
- KTOR-9585 OpenAPI: JsonSchema title is truncated when it contains a dot
- KTOR-9704 UTF-8 encoding in ktor-io bypasses JVM String.getBytes intrinsics, slowing every text response by 5-7x
- KTOR-9588 SSE client (CIO engine) sends spurious
Content-Length: 0on body-less GET (RFC 9110 § 8.6 violation; rejected by AWS ELB)- KTOR-9679 ByteReadChannel.readLine corrupts multi-byte UTF-8 by splitting a character at a buffer boundary
- KTOR-9767 ByteReadChannel.readLineTo: Return read bytes count instead of decoded characters count
- KTOR-8992 HoconConfigLoader is not loaded when ktor-server-config-yaml on the classpath
- KTOR-9698 OpenAPI: schema for kotlinx.serialization sealed types omits discriminator property in variant schemas
- KTOR-9690 Netty: in-flight requests are aborted on stop(), ignoring shutdown grace period
- KTOR-8903 Netty: Close channel connection on errors properly
- KTOR-9707 SaveBody performance regression
- KTOR-9703 Inefficient text reading function in DefaultTransform
- KTOR-9711 Netty HTTP/2: a single client-canceled stream (RST_STREAM) breaks response flushing for the whole connection
- KTOR-9688 RateLimit: No access to principal when wrapped with authentication since 3.5.1
- KTOR-9677 Auto-reloading: server is reloaded only once since 3.5.0
- KTOR-9683 Sockets: Canceling a SelectorManager job doesn't close it properly
- KTOR-9671 Darwin: Semicolons in URL path are sanitized
Commits
01c469aRelease 3.5.2 (#5781)c965a0cKTOR-9741 Prevent CIO request handler leak (#5783)74df458chore: fix some comments to improve readability-
Description has been truncated
Summary by cubic
Upgrade Ktor client dependencies from 3.5.1 to 3.5.2 to pick up CIO client fixes and IO correctness/performance improvements. Previously the CIO client could send Content-Length: 0 on body-less GETs and accept whitespace in URL hosts; now it omits that header and rejects invalid hosts.
- Bumps
ktorinkotlin/gradle/libs.versions.toml; updatesio.ktor:ktor-client-core,io.ktor:ktor-client-cio,io.ktor:ktor-client-mock,io.ktor:ktor-client-content-negotiation, andio.ktor:ktor-serialization-kotlinx-json. - Notable runtime changes: fixes to multi-byte UTF-8 line reading and improved UTF-8 performance; SSE client conforms to RFC 9110 by omitting Content-Length on body-less GET.
- Required migration if used:
ByteReadChannel.readLineTonow returns the number of bytes read (not decoded characters). Update any checks that depend on its return value.
- Bumps