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.2 | 3.6.0 |
| io.ktor:ktor-client-cio | 3.5.2 | 3.6.0 |
| io.ktor:ktor-client-mock | 3.5.2 | 3.6.0 |
| io.ktor:ktor-client-content-negotiation | 3.5.2 | 3.6.0 |
| io.ktor:ktor-serialization-kotlinx-json | 3.5.2 | 3.6.0 |
Updates io.ktor:ktor-client-core from 3.5.2 to 3.6.0
Release notes
Sourced from io.ktor:ktor-client-core's releases.
3.6.0
Published 16 September 2026
Features
- KTOR-8596 OpenID Connect (OAuth2) auto-discover & configuration
- KTOR-9645 Client curated multi-platform facade module
- KTOR-8883 Support nested jars in static resources
- KTOR-8672 Support at least zstd and deflate formats of precompressed files
- KTOR-8595 Auth JWK Support (auto-discover)
- KTOR-9841 OIDC Server Plugin
- KTOR-9654 Override fetch in JS engine
- KTOR-9785 Typesafe Authentication DSL
- KTOR-462 Async CIO DNS resolver with timeout
- KTOR-9709 Add resource attribute for client resources plugin
- KTOR-5009 ContentNegotiation: Add a way to prevent changing Accept and Content-Type headers
- KTOR-9776 OpenAPI: Support the "const" validation keyword
- KTOR-7468 DefaultConversionService: Support Uuid type introduced in Kotlin 2.0
- KTOR-9578 HttpCache add method for clearing
- KTOR-9590 OpenAPI Contextual JSON schema inference support
- KTOR-6610 Log which ConfigLoader has been used for loading the server configuration
- KTOR-9735 Commonize HttpCache FileCacheStorage
- KTOR-8953 WebRTC client on JVM
- KTOR-9674 UDP support for Node.js targets
- KTOR-9612 Add
text/markdownto the ContentType constantsImprovements
- KTOR-9876 Typo in KDoc for routing function: "for the this Application".
- KTOR-9778 Character classification in ktor-http hot paths uses boxed Set lookups and per-symbol encoder allocations
- KTOR-9702 Duplicate code in ByteReadChannel
- KTOR-9716 Make ApplicationCallPipeline.ApplicationPhase.Validators public in 3.6.0
- KTOR-9734 Use TagConsumer in respondHtmlFragment lambda receiver
- KTOR-5577 Support nullable types in ApplicationCall.receive
- KTOR-2367 OAuth: clients expect to get authenticated once per "session" for all protected routes
- KTOR-8594 Auth: Non-optional principal is of nullable type
- KTOR-9816 Escape
$in application.yaml file- KTOR-8193 Unnecessary blocking in OutputStream wrapper
Bugfixes
- KTOR-8705 testApplication: call coroutine context isn't preserved when responding with ChannelWriterContent
- KTOR-9248 JWTAuthenticationProvider silently swallows exceptions
- KTOR-9892 Digest Auth client:
ncandqopare not handled according to RFC 7616- KTOR-9891 CIO on Kotlin/Native collapses above ~50 connections: HttpHeadersMap pools contend on an allocating SynchronizedObject
- KTOR-9794 Digest Auth: NullPointerException when the server does not expect Digest auth
- KTOR-9788 Netty: engine double-responds after its built-in 400, crashing the call-handler coroutine with "Headers can no longer be set because response was already completed"
- KTOR-9834 HttpClient eagerly initializes SLF4J during Android startup
- KTOR-9701 Jackson/Gson converters waste time on unnecessary Dispatchers.IO dispatch
- KTOR-9832 Apache5: Upgrading Apache HttpClient5 to version 5.6 breaks the Ktor client with
Content-Length mismatcherror for any gzipped content- KTOR-9870 OkHttp: Reduce coroutine dispatching and allocations while reading response bodies
- KTOR-9627 Cancel blocking bridges when coroutine is cancelled
- KTOR-7067 Ktor Cookie.parseClientCookiesHeader returns Map, which breaks Cookie header contract
... (truncated)
Changelog
Sourced from io.ktor:ktor-client-core's changelog.
3.6.0
Published 16 September 2026
Features
- KTOR-8596 OpenID Connect (OAuth2) auto-discover & configuration
- KTOR-9645 Client curated multi-platform facade module
- KTOR-8883 Support nested jars in static resources
- KTOR-8672 Support at least zstd and deflate formats of precompressed files
- KTOR-8595 Auth JWK Support (auto-discover)
- KTOR-9841 OIDC Server Plugin
- KTOR-9654 Override fetch in JS engine
- KTOR-9785 Typesafe Authentication DSL
- KTOR-462 Async CIO DNS resolver with timeout
- KTOR-9709 Add resource attribute for client resources plugin
- KTOR-5009 ContentNegotiation: Add a way to prevent changing Accept and Content-Type headers
- KTOR-9776 OpenAPI: Support the "const" validation keyword
- KTOR-7468 DefaultConversionService: Support Uuid type introduced in Kotlin 2.0
- KTOR-9578 HttpCache add method for clearing
- KTOR-9590 OpenAPI Contextual JSON schema inference support
- KTOR-6610 Log which ConfigLoader has been used for loading the server configuration
- KTOR-9735 Commonize HttpCache FileCacheStorage
- KTOR-8953 WebRTC client on JVM
- KTOR-9674 UDP support for Node.js targets
- KTOR-9612 Add
text/markdownto the ContentType constantsImprovements
- KTOR-9876 Typo in KDoc for routing function: "for the this Application".
- KTOR-9778 Character classification in ktor-http hot paths uses boxed Set lookups and per-symbol encoder allocations
- KTOR-9702 Duplicate code in ByteReadChannel
- KTOR-9716 Make ApplicationCallPipeline.ApplicationPhase.Validators public in 3.6.0
- KTOR-9734 Use TagConsumer in respondHtmlFragment lambda receiver
- KTOR-5577 Support nullable types in ApplicationCall.receive
- KTOR-2367 OAuth: clients expect to get authenticated once per "session" for all protected routes
- KTOR-8594 Auth: Non-optional principal is of nullable type
- KTOR-9816 Escape
$in application.yaml file- KTOR-8193 Unnecessary blocking in OutputStream wrapper
Bugfixes
- KTOR-8705 testApplication: call coroutine context isn't preserved when responding with ChannelWriterContent
- KTOR-9248 JWTAuthenticationProvider silently swallows exceptions
- KTOR-9892 Digest Auth client:
ncandqopare not handled according to RFC 7616- KTOR-9891 CIO on Kotlin/Native collapses above ~50 connections: HttpHeadersMap pools contend on an allocating SynchronizedObject
- KTOR-9794 Digest Auth: NullPointerException when the server does not expect Digest auth
- KTOR-9788 Netty: engine double-responds after its built-in 400, crashing the call-handler coroutine with "Headers can no longer be set because response was already completed"
- KTOR-9834 HttpClient eagerly initializes SLF4J during Android startup
- KTOR-9701 Jackson/Gson converters waste time on unnecessary Dispatchers.IO dispatch
- KTOR-9832 Apache5: Upgrading Apache HttpClient5 to version 5.6 breaks the Ktor client with
Content-Length mismatcherror for any gzipped content- KTOR-9870 OkHttp: Reduce coroutine dispatching and allocations while reading response bodies
- KTOR-9627 Cancel blocking bridges when coroutine is cancelled
- KTOR-7067 Ktor Cookie.parseClientCookiesHeader returns Map, which breaks Cookie header contract
... (truncated)
Commits
111c580Release 3.6.0 (#5882)1e4186cKTOR-9876 Fix typo in Application.routing KDoc (#5876)6930eeeFix KTOR-9892 Digest Auth client: nc and qop ... (#5875)875b2f0Fix KTOR-9794 Digest Auth: NullPointerException when the server does not expe...dc56137KTOR-8705 Pass coroutine context to the channel writer (#5868)55f6e71Fix KTOR-9640 forward autoFlush in reader/writer helpers2b04a1fFix KTOR-9248 JWTAuthenticationProvider silently swallows exceptions (#5877)702ff9fKTOR-9889 Fix deadlock in concurrent module loading with Dependency Injection...1fab5f1Reject Accept entries with q=0 in ContentNegotiation (#5873)b06c3b5KTOR-9891 Delegate SynchronizedObject to kotlinx.atomicfu on Native (#5874)- Additional commits viewable in compare view
Updates io.ktor:ktor-client-cio from 3.5.2 to 3.6.0
Release notes
Sourced from io.ktor:ktor-client-cio's releases.
3.6.0
Published 16 September 2026
Features
- KTOR-8596 OpenID Connect (OAuth2) auto-discover & configuration
- KTOR-9645 Client curated multi-platform facade module
- KTOR-8883 Support nested jars in static resources
- KTOR-8672 Support at least zstd and deflate formats of precompressed files
- KTOR-8595 Auth JWK Support (auto-discover)
- KTOR-9841 OIDC Server Plugin
- KTOR-9654 Override fetch in JS engine
- KTOR-9785 Typesafe Authentication DSL
- KTOR-462 Async CIO DNS resolver with timeout
- KTOR-9709 Add resource attribute for client resources plugin
- KTOR-5009 ContentNegotiation: Add a way to prevent changing Accept and Content-Type headers
- KTOR-9776 OpenAPI: Support the "const" validation keyword
- KTOR-7468 DefaultConversionService: Support Uuid type introduced in Kotlin 2.0
- KTOR-9578 HttpCache add method for clearing
- KTOR-9590 OpenAPI Contextual JSON schema inference support
- KTOR-6610 Log which ConfigLoader has been used for loading the server configuration
- KTOR-9735 Commonize HttpCache FileCacheStorage
- KTOR-8953 WebRTC client on JVM
- KTOR-9674 UDP support for Node.js targets
- KTOR-9612 Add
text/markdownto the ContentType constantsImprovements
- KTOR-9876 Typo in KDoc for routing function: "for the this Application".
- KTOR-9778 Character classification in ktor-http hot paths uses boxed Set lookups and per-symbol encoder allocations
- KTOR-9702 Duplicate code in ByteReadChannel
- KTOR-9716 Make ApplicationCallPipeline.ApplicationPhase.Validators public in 3.6.0
- KTOR-9734 Use TagConsumer in respondHtmlFragment lambda receiver
- KTOR-5577 Support nullable types in ApplicationCall.receive
- KTOR-2367 OAuth: clients expect to get authenticated once per "session" for all protected routes
- KTOR-8594 Auth: Non-optional principal is of nullable type
- KTOR-9816 Escape
$in application.yaml file- KTOR-8193 Unnecessary blocking in OutputStream wrapper
Bugfixes
- KTOR-8705 testApplication: call coroutine context isn't preserved when responding with ChannelWriterContent
- KTOR-9248 JWTAuthenticationProvider silently swallows exceptions
- KTOR-9892 Digest Auth client:
ncandqopare not handled according to RFC 7616- KTOR-9891 CIO on Kotlin/Native collapses above ~50 connections: HttpHeadersMap pools contend on an allocating SynchronizedObject
- KTOR-9794 Digest Auth: NullPointerException when the server does not expect Digest auth
- KTOR-9788 Netty: engine double-responds after its built-in 400, crashing the call-handler coroutine with "Headers can no longer be set because response was already completed"
- KTOR-9834 HttpClient eagerly initializes SLF4J during Android startup
- KTOR-9701 Jackson/Gson converters waste time on unnecessary Dispatchers.IO dispatch
- KTOR-9832 Apache5: Upgrading Apache HttpClient5 to version 5.6 breaks the Ktor client with
Content-Length mismatcherror for any gzipped content- KTOR-9870 OkHttp: Reduce coroutine dispatching and allocations while reading response bodies
- KTOR-9627 Cancel blocking bridges when coroutine is cancelled
- KTOR-7067 Ktor Cookie.parseClientCookiesHeader returns Map, which breaks Cookie header contract
... (truncated)
Changelog
Sourced from io.ktor:ktor-client-cio's changelog.
3.6.0
Published 16 September 2026
Features
- KTOR-8596 OpenID Connect (OAuth2) auto-discover & configuration
- KTOR-9645 Client curated multi-platform facade module
- KTOR-8883 Support nested jars in static resources
- KTOR-8672 Support at least zstd and deflate formats of precompressed files
- KTOR-8595 Auth JWK Support (auto-discover)
- KTOR-9841 OIDC Server Plugin
- KTOR-9654 Override fetch in JS engine
- KTOR-9785 Typesafe Authentication DSL
- KTOR-462 Async CIO DNS resolver with timeout
- KTOR-9709 Add resource attribute for client resources plugin
- KTOR-5009 ContentNegotiation: Add a way to prevent changing Accept and Content-Type headers
- KTOR-9776 OpenAPI: Support the "const" validation keyword
- KTOR-7468 DefaultConversionService: Support Uuid type introduced in Kotlin 2.0
- KTOR-9578 HttpCache add method for clearing
- KTOR-9590 OpenAPI Contextual JSON schema inference support
- KTOR-6610 Log which ConfigLoader has been used for loading the server configuration
- KTOR-9735 Commonize HttpCache FileCacheStorage
- KTOR-8953 WebRTC client on JVM
- KTOR-9674 UDP support for Node.js targets
- KTOR-9612 Add
text/markdownto the ContentType constantsImprovements
- KTOR-9876 Typo in KDoc for routing function: "for the this Application".
- KTOR-9778 Character classification in ktor-http hot paths uses boxed Set lookups and per-symbol encoder allocations
- KTOR-9702 Duplicate code in ByteReadChannel
- KTOR-9716 Make ApplicationCallPipeline.ApplicationPhase.Validators public in 3.6.0
- KTOR-9734 Use TagConsumer in respondHtmlFragment lambda receiver
- KTOR-5577 Support nullable types in ApplicationCall.receive
- KTOR-2367 OAuth: clients expect to get authenticated once per "session" for all protected routes
- KTOR-8594 Auth: Non-optional principal is of nullable type
- KTOR-9816 Escape
$in application.yaml file- KTOR-8193 Unnecessary blocking in OutputStream wrapper
Bugfixes
- KTOR-8705 testApplication: call coroutine context isn't preserved when responding with ChannelWriterContent
- KTOR-9248 JWTAuthenticationProvider silently swallows exceptions
- KTOR-9892 Digest Auth client:
ncandqopare not handled according to RFC 7616- KTOR-9891 CIO on Kotlin/Native collapses above ~50 connections: HttpHeadersMap pools contend on an allocating SynchronizedObject
- KTOR-9794 Digest Auth: NullPointerException when the server does not expect Digest auth
- KTOR-9788 Netty: engine double-responds after its built-in 400, crashing the call-handler coroutine with "Headers can no longer be set because response was already completed"
- KTOR-9834 HttpClient eagerly initializes SLF4J during Android startup
- KTOR-9701 Jackson/Gson converters waste time on unnecessary Dispatchers.IO dispatch
- KTOR-9832 Apache5: Upgrading Apache HttpClient5 to version 5.6 breaks the Ktor client with
Content-Length mismatcherror for any gzipped content- KTOR-9870 OkHttp: Reduce coroutine dispatching and allocations while reading response bodies
- KTOR-9627 Cancel blocking bridges when coroutine is cancelled
- KTOR-7067 Ktor Cookie.parseClientCookiesHeader returns Map, which breaks Cookie header contract
... (truncated)
Commits
111c580Release 3.6.0 (#5882)1e4186cKTOR-9876 Fix typo in Application.routing KDoc (#5876)6930eeeFix KTOR-9892 Digest Auth client: nc and qop ... (#5875)875b2f0Fix KTOR-9794 Digest Auth: NullPointerException when the server does not expe...dc56137KTOR-8705 Pass coroutine context to the channel writer (#5868)55f6e71Fix KTOR-9640 forward autoFlush in reader/writer helpers2b04a1fFix KTOR-9248 JWTAuthenticationProvider silently swallows exceptions (#5877)702ff9fKTOR-9889 Fix deadlock in concurrent module loading with Dependency Injection...1fab5f1Reject Accept entries with q=0 in ContentNegotiation (#5873)b06c3b5KTOR-9891 Delegate SynchronizedObject to kotlinx.atomicfu on Native (#5874)- Additional commits viewable in compare view
Updates io.ktor:ktor-client-mock from 3.5.2 to 3.6.0
Release notes
Sourced from io.ktor:ktor-client-mock's releases.
3.6.0
Published 16 September 2026
Features
- KTOR-8596 OpenID Connect (OAuth2) auto-discover & configuration
- KTOR-9645 Client curated multi-platform facade module
- KTOR-8883 Support nested jars in static resources
- KTOR-8672 Support at least zstd and deflate formats of precompressed files
- KTOR-8595 Auth JWK Support (auto-discover)
- KTOR-9841 OIDC Server Plugin
- KTOR-9654 Override fetch in JS engine
- KTOR-9785 Typesafe Authentication DSL
- KTOR-462 Async CIO DNS resolver with timeout
- KTOR-9709 Add resource attribute for client resources plugin
- KTOR-5009 ContentNegotiation: Add a way to prevent changing Accept and Content-Type headers
- KTOR-9776 OpenAPI: Support the "const" validation keyword
- KTOR-7468 DefaultConversionService: Support Uuid type introduced in Kotlin 2.0
- KTOR-9578 HttpCache add method for clearing
- KTOR-9590 OpenAPI Contextual JSON schema inference support
- KTOR-6610 Log which ConfigLoader has been used for loading the server configuration
- KTOR-9735 Commonize HttpCache FileCacheStorage
- KTOR-8953 WebRTC client on JVM
- KTOR-9674 UDP support for Node.js targets
- KTOR-9612 Add
text/markdownto the ContentType constantsImprovements
- KTOR-9876 Typo in KDoc for routing function: "for the this Application".
- KTOR-9778 Character classification in ktor-http hot paths uses boxed Set lookups and per-symbol encoder allocations
- KTOR-9702 Duplicate code in ByteReadChannel
- KTOR-9716 Make ApplicationCallPipeline.ApplicationPhase.Validators public in 3.6.0
- KTOR-9734 Use TagConsumer in respondHtmlFragment lambda receiver
- KTOR-5577 Support nullable types in ApplicationCall.receive
- KTOR-2367 OAuth: clients expect to get authenticated once per "session" for all protected routes
- KTOR-8594 Auth: Non-optional principal is of nullable type
- KTOR-9816 Escape
$in application.yaml file- KTOR-8193 Unnecessary blocking in OutputStream wrapper
Bugfixes
- KTOR-8705 testApplication: call coroutine context isn't preserved when responding with ChannelWriterContent
- KTOR-9248 JWTAuthenticationProvider silently swallows exceptions
- KTOR-9892 Digest Auth client:
ncandqopare not handled according to RFC 7616- KTOR-9891 CIO on Kotlin/Native collapses above ~50 connections: HttpHeadersMap pools contend on an allocating SynchronizedObject
- KTOR-9794 Digest Auth: NullPointerException when the server does not expect Digest auth
- KTOR-9788 Netty: engine double-responds after its built-in 400, crashing the call-handler coroutine with "Headers can no longer be set because response was already completed"
- KTOR-9834 HttpClient eagerly initializes SLF4J during Android startup
- KTOR-9701 Jackson/Gson converters waste time on unnecessary Dispatchers.IO dispatch
- KTOR-9832 Apache5: Upgrading Apache HttpClient5 to version 5.6 breaks the Ktor client with
Content-Length mismatcherror for any gzipped content- KTOR-9870 OkHttp: Reduce coroutine dispatching and allocations while reading response bodies
- KTOR-9627 Cancel blocking bridges when coroutine is cancelled
- KTOR-7067 Ktor Cookie.parseClientCookiesHeader returns Map, which breaks Cookie header contract
... (truncated)
Changelog
Sourced from io.ktor:ktor-client-mock's changelog.
3.6.0
Published 16 September 2026
Features
- KTOR-8596 OpenID Connect (OAuth2) auto-discover & configuration
- KTOR-9645 Client curated multi-platform facade module
- KTOR-8883 Support nested jars in static resources
- KTOR-8672 Support at least zstd and deflate formats of precompressed files
- KTOR-8595 Auth JWK Support (auto-discover)
- KTOR-9841 OIDC Server Plugin
- KTOR-9654 Override fetch in JS engine
- KTOR-9785 Typesafe Authentication DSL
- KTOR-462 Async CIO DNS resolver with timeout
- KTOR-9709 Add resource attribute for client resources plugin
- KTOR-5009 ContentNegotiation: Add a way to prevent changing Accept and Content-Type headers
- KTOR-9776 OpenAPI: Support the "const" validation keyword
- KTOR-7468 DefaultConversionService: Support Uuid type introduced in Kotlin 2.0
- KTOR-9578 HttpCache add method for clearing
- KTOR-9590 OpenAPI Contextual JSON schema inference support
- KTOR-6610 Log which ConfigLoader has been used for loading the server configuration
- KTOR-9735 Commonize HttpCache FileCacheStorage
- KTOR-8953 WebRTC client on JVM
- KTOR-9674 UDP support for Node.js targets
- KTOR-9612 Add
text/markdownto the ContentType constantsImprovements
- KTOR-9876 Typo in KDoc for routing function: "for the this Application".
- KTOR-9778 Character classification in ktor-http hot paths uses boxed Set lookups and per-symbol encoder allocations
- KTOR-9702 Duplicate code in ByteReadChannel
- KTOR-9716 Make ApplicationCallPipeline.ApplicationPhase.Validators public in 3.6.0
- KTOR-9734 Use TagConsumer in respondHtmlFragment lambda receiver
- KTOR-5577 Support nullable types in ApplicationCall.receive
- KTOR-2367 OAuth: clients expect to get authenticated once per "session" for all protected routes
- KTOR-8594 Auth: Non-optional principal is of nullable type
- KTOR-9816 Escape
$in application.yaml file- KTOR-8193 Unnecessary blocking in OutputStream wrapper
Bugfixes
- KTOR-8705 testApplication: call coroutine context isn't preserved when responding with ChannelWriterContent
- KTOR-9248 JWTAuthenticationProvider silently swallows exceptions
- KTOR-9892 Digest Auth client:
ncandqopare not handled according to RFC 7616- KTOR-9891 CIO on Kotlin/Native collapses above ~50 connections: HttpHeadersMap pools contend on an allocating SynchronizedObject
- KTOR-9794 Digest Auth: NullPointerException when the server does not expect Digest auth
- KTOR-9788 Netty: engine double-responds after its built-in 400, crashing the call-handler coroutine with "Headers can no longer be set because response was already completed"
- KTOR-9834 HttpClient eagerly initializes SLF4J during Android startup
- KTOR-9701 Jackson/Gson converters waste time on unnecessary Dispatchers.IO dispatch
- KTOR-9832 Apache5: Upgrading Apache HttpClient5 to version 5.6 breaks the Ktor client with
Content-Length mismatcherror for any gzipped content- KTOR-9870 OkHttp: Reduce coroutine dispatching and allocations while reading response bodies
- KTOR-9627 Cancel blocking bridges when coroutine is cancelled
- KTOR-7067 Ktor Cookie.parseClientCookiesHeader returns Map, which breaks Cookie header contract
... (truncated)
Commits
111c580Release 3.6.0 (#5882)1e4186cKTOR-9876 Fix typo in Application.routing KDoc (#5876)6930eeeFix KTOR-9892 Digest Auth client: nc and qop ... (#5875)875b2f0Fix KTOR-9794 Digest Auth: NullPointerException when the server does not expe...dc56137KTOR-8705 Pass coroutine context to the channel writer (#5868)55f6e71Fix KTOR-9640 forward autoFlush in reader/writer helpers2b04a1fFix KTOR-9248 JWTAuthenticationProvider silently swallows exceptions (#5877)702ff9fKTOR-9889 Fix deadlock in concurrent module loading with Dependency Injection...1fab5f1Reject Accept entries with q=0 in ContentNegotiation (#5873)b06c3b5KTOR-9891 Delegate SynchronizedObject to kotlinx.atomicfu on Native (#5874)- Additional commits viewable in compare view
Updates io.ktor:ktor-client-content-negotiation from 3.5.2 to 3.6.0
Release notes
Sourced from io.ktor:ktor-client-content-negotiation's releases.
3.6.0
Published 16 September 2026
Features
- KTOR-8596 OpenID Connect (OAuth2) auto-discover & configuration
- KTOR-9645 Client curated multi-platform facade module
- KTOR-8883 Support nested jars in static resources
- KTOR-8672 Support at least zstd and deflate formats of precompressed files
- KTOR-8595 Auth JWK Support (auto-discover)
- KTOR-9841 OIDC Server Plugin
- KTOR-9654 Override fetch in JS engine
- KTOR-9785 Typesafe Authentication DSL
- KTOR-462 Async CIO DNS resolver with timeout
- KTOR-9709 Add resource attribute for client resources plugin
- KTOR-5009 ContentNegotiation: Add a way to prevent changing Accept and Content-Type headers
- KTOR-9776 OpenAPI: Support the "const" validation keyword
- KTOR-7468 DefaultConversionService: Support Uuid type introduced in Kotlin 2.0
- KTOR-9578 HttpCache add method for clearing
- KTOR-9590 OpenAPI Contextual JSON schema inference support
- KTOR-6610 Log which ConfigLoader has been used for loading the server configuration
- KTOR-9735 Commonize HttpCache FileCacheStorage
- KTOR-8953 WebRTC client on JVM
- KTOR-9674 UDP support for Node.js targets
- KTOR-9612 Add
text/markdownto the ContentType constantsImprovements
- KTOR-9876 Typo in KDoc for routing function: "for the this Application".
- KTOR-9778 Character classification in ktor-http hot paths uses boxed Set lookups and per-symbol encoder allocations
- KTOR-9702 Duplicate code in ByteReadChannel
- KTOR-9716 Make ApplicationCallPipeline.ApplicationPhase.Validators public in 3.6.0
- KTOR-9734 Use TagConsumer in respondHtmlFragment lambda receiver
- KTOR-5577 Support nullable types in ApplicationCall.receive
- KTOR-2367 OAuth: clients expect to get authenticated once per "session" for all protected routes
- KTOR-8594 Auth: Non-optional principal is of nullable type
- KTOR-9816 Escape
$in application.yaml file- KTOR-8193 Unnecessary blocking in OutputStream wrapper
Bugfixes
- KTOR-8705 testApplication: call coroutine context isn't preserved when responding with ChannelWriterContent
- KTOR-9248 JWTAuthenticationProvider silently swallows exceptions
- KTOR-9892 Digest Auth client:
ncandqopare not handled according to RFC 7616- KTOR-9891 CIO on Kotlin/Native collapses above ~50 connections: HttpHeadersMap pools contend on an allocating SynchronizedObject
- KTOR-9794 Digest Auth: NullPointerException when the server does not expect Digest auth
- KTOR-9788 Netty: engine double-responds after its built-in 400, crashing the call-handler coroutine with "Headers can no longer be set because response was already completed"
- KTOR-9834 HttpClient eagerly initializes SLF4J during Android startup
- KTOR-9701 Jackson/Gson converters waste time on unnecessary Dispatchers.IO dispatch
- KTOR-9832 Apache5: Upgrading Apache HttpClient5 to version 5.6 breaks the Ktor client with
Content-Length mismatcherror for any gzipped content- KTOR-9870 OkHttp: Reduce coroutine dispatching and allocations while reading response bodies
- KTOR-9627 Cancel blocking bridges when coroutine is cancelled
- KTOR-7067 Ktor Cookie.parseClientCookiesHeader returns Map, which breaks Cookie header contract
... (truncated)
Changelog
Sourced from io.ktor:ktor-client-content-negotiation's changelog.
3.6.0
Published 16 September 2026
Features
- KTOR-8596 OpenID Connect (OAuth2) auto-discover & configuration
- KTOR-9645 Client curated multi-platform facade module
- KTOR-8883 Support nested jars in static resources
- KTOR-8672 Support at least zstd and deflate formats of precompressed files
- KTOR-8595 Auth JWK Support (auto-discover)
- KTOR-9841 OIDC Server Plugin
- KTOR-9654 Override fetch in JS engine
- KTOR-9785 Typesafe Authentication DSL
- KTOR-462 Async CIO DNS resolver with timeout
- KTOR-9709 Add resource attribute for client resources plugin
- KTOR-5009 ContentNegotiation: Add a way to prevent changing Accept and Content-Type headers
- KTOR-9776 OpenAPI: Support the "const" validation keyword
- KTOR-7468 DefaultConversionService: Support Uuid type introduced in Kotlin 2.0
- KTOR-9578 HttpCache add method for clearing
- KTOR-9590 OpenAPI Contextual JSON schema inference support
- KTOR-6610 Log which ConfigLoader has been used for loading the server configuration
- KTOR-9735 Commonize HttpCache FileCacheStorage
- KTOR-8953 WebRTC client on JVM
- KTOR-9674 UDP support for Node.js targets
- KTOR-9612 Add
text/markdownto the ContentType constantsImprovements
- KTOR-9876 Typo in KDoc for routing function: "for the this Application".
- KTOR-9778 Character classification in ktor-http hot paths uses boxed Set lookups and per-symbol encoder allocations
- KTOR-9702 Duplicate code in ByteReadChannel
- KTOR-9716 Make ApplicationCallPipeline.ApplicationPhase.Validators public in 3.6.0
- KTOR-9734 Use TagConsumer in respondHtmlFragment lambda receiver
- KTOR-5577 Support nullable types in ApplicationCall.receive
- KTOR-2367 OAuth: clients expect to get authenticated once per "session" for all protected routes
- KTOR-8594 Auth: Non-optional principal is of nullable type
- KTOR-9816 Escape
$in application.yaml file- KTOR-8193 Unnecessary blocking in OutputStream wrapper
Bugfixes
- KTOR-8705 testApplication: call coroutine context isn't preserved when responding with ChannelWriterContent
- KTOR-9248 JWTAuthenticationProvider silently swallows exceptions
- KTOR-9892 Digest Auth client:
ncandqopare not handled according to RFC 7616- KTOR-9891 CIO on Kotlin/Native collapses above ~50 connections: HttpHeadersMap pools contend on an allocating SynchronizedObject
- KTOR-9794 Digest Auth: NullPointerException when the server does not expect Digest auth
- KTOR-9788 Netty: engine double-responds after its built-in 400, crashing the call-handler coroutine with "Headers can no longer be set because response was already completed"
- KTOR-9834 HttpClient eagerly initializes SLF4J during Android startup
- KTOR-9701 Jackson/Gson converters waste time on unnecessary Dispatchers.IO dispatch
- KTOR-9832 Apache5: Upgrading Apache HttpClient5 to version 5.6 breaks the Ktor client with
Content-Length mismatcherror for any gzipped content- KTOR-9870 OkHttp: Reduce coroutine dispatching and allocations while reading response bodies
- KTOR-9627 Cancel blocking bridges when coroutine is cancelled
- KTOR-7067 Ktor Cookie.parseClientCookiesHeader returns Map, which breaks Cookie header contract
... (truncated)
Commits
111c580Release 3.6.0 (#5882)1e4186cKTOR-9876 Fix typo in Application.routing KDoc (#5876)6930eeeFix KTOR-9892 Digest Auth client: nc and qop ... (#5875)875b2f0Fix KTOR-9794 Digest Auth: NullPointerException when the server does not expe...dc56137KTOR-8705 Pass coroutine context to the channel writer (#5868)55f6e71Fix KTOR-9640 forward autoFlush in reader/writer helpers2b04a1fFix KTOR-9248 JWTAuthenticationProvider silently swallows exceptions (#5877)702ff9fKTOR-9889 Fix deadlock in concurrent module loading with Dependency Injection...1fab5f1Reject Accept entries with q=0 in ContentNegotiation (#5873)b06c3b5KTOR-9891 Delegate SynchronizedObject to kotlinx.atomicfu on Native (#5874)- Additional commits viewable in compare view
Updates io.ktor:ktor-serialization-kotlinx-json from 3.5.2 to 3.6.0
Release notes
Sourced from io.ktor:ktor-serialization-kotlinx-json's releases.
3.6.0
Published 16 September 2026
Features
- KTOR-8596 OpenID Connect (OAuth2) auto-discover & configuration
- KTOR-9645 Client curated multi-platform facade module
- KTOR-8883 Support nested jars in static resources
- KTOR-8672 Support at least zstd and deflate formats of precompressed files
- KTOR-8595 Auth JWK Support (auto-discover)
- KTOR-9841 OIDC Server Plugin
- KTOR-9654 Override fetch in JS engine
- KTOR-9785 Typesafe Authentication DSL
- KTOR-462 Async CIO DNS resolver with timeout
- KTOR-9709 Add resource attribute for client resources plugin
- KTOR-5009 ContentNegotiation: Add a way to prevent changing Accept and Content-Type headers
- KTOR-9776 OpenAPI: Support the "const" validation keyword
- KTOR-7468 DefaultConversionService: Support Uuid type introduced in Kotlin 2.0
- KTOR-9578 HttpCache add method for clearing
- KTOR-9590 OpenAPI Contextual JSON schema inference support
- KTOR-6610 Log which ConfigLoader has been used for loading the server configuration
- KTOR-9735 Commonize HttpCache FileCacheStorage
- KTOR-8953 WebRTC client on JVM
- KTOR-9674 UDP support for Node.js targets
- KTOR-9612 Add
text/markdown...Description has been truncated
Summary by cubic
Bumps the Ktor client dependencies from 3.5.2 to 3.6.0 in the
kotlinmodule's version catalog, coveringktor-client-core,ktor-client-cio,ktor-client-mock,ktor-client-content-negotiation, andktor-serialization-kotlinx-json. The 3.6.0 minor release adds features like a typesafe authentication DSL and OIDC support, along with several client bugfixes.