Bump ktor from 3.0.1 to 3.1.2 #25

Merged
dependabot[bot] merged 1 commits from dependabot/gradle/ktor-3.1.2 into master 2025-03-31 20:13:15 +03:00
dependabot[bot] commented 2025-03-31 06:08:02 +03:00 (Migrated from github.com)

Bumps ktor from 3.0.1 to 3.1.2.
Updates io.ktor:ktor-client-core from 3.0.1 to 3.1.2

Release notes

Sourced from io.ktor:ktor-client-core's releases.

3.1.2

Published 27 March 2025

Improvements

Bugfixes

  • URL-safe base64 decoding problem (KTOR-8292)
  • Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (KTOR-8312)
  • Android: "Array has more than one element" error when starting a server with release build (KTOR-7298)
  • WebSockets: extensions in sec-websocket-extensions header must be separated by comma (KTOR-6384)
  • OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (KTOR-8244)

3.1.1

Published 24 February 2025

Improvements

  • Logging: messages are printed per line with OkHttp logger format (KTOR-8218)
  • WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (KTOR-8206)

Bugfixes

  • formData: implementation of copying Source is broken (KTOR-8210)
  • Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (KTOR-8105)
  • TLS client: IOException while writing to a closed TLS socket since 3.0.0 (KTOR-7860)
  • Exception thrown in onCallRespond makes the client wait for response indefinitely (KTOR-7139)
  • HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (KTOR-7104)
  • OOM on SourceByteReadChannel for large input (KTOR-8190)
  • ArrayIndexOutOfBounds kotlinx-io (KTOR-8096)
  • NPE in readBuffer (KTOR-8086)
  • JS/WASM fails with "IllegalStateException: Content-Length mismatch" on requesting gzipped content (KTOR-7934)
  • Resources: a / route isn't resolved when there is a sibling staticResources (KTOR-6671)
  • Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (KTOR-8015)

3.1.0

Published 11 February 2025

Features

  • Add reconnection in ClientSSESession (KTOR-6242)
  • Add heartbeat to SSE (KTOR-7908)
  • Add serialization for SSE (KTOR-7435)
  • Support WebSockets in Curl engine (KTOR-5199)
  • Support conversion between byte channel interfaces and kotlinx-io primitives (KTOR-7327)
  • Support CIO server on WasmJS and JS targets (KTOR-865)
  • Logging: Format log like OkHttp client does (KTOR-7806)
  • Support static linking for curl on all platforms (KTOR-6754)
  • Support ARM target in Ktor client with Kotlin/Native and Curl (KTOR-4570)
  • Unix Domain Socket Support for Native Targets (KTOR-6960)
  • Support receiving multipart data with Ktor client (KTOR-6632)
  • Client CIO engine support for wasm-js and js (KTOR-7675)

... (truncated)

Changelog

Sourced from io.ktor:ktor-client-core's changelog.

3.1.2

Published 27 March 2025

Improvements

Bugfixes

  • URL-safe base64 decoding problem (KTOR-8292)
  • Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (KTOR-8312)
  • Android: "Array has more than one element" error when starting a server with release build (KTOR-7298)
  • WebSockets: extensions in sec-websocket-extensions header must be separated by comma (KTOR-6384)
  • OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (KTOR-8244)

3.1.1

Published 24 February 2025

Improvements

  • Logging: messages are printed per line with OkHttp logger format (KTOR-8218)
  • WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (KTOR-8206)

Bugfixes

  • formData: implementation of copying Source is broken (KTOR-8210)
  • Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (KTOR-8105)
  • TLS client: IOException while writing to a closed TLS socket since 3.0.0 (KTOR-7860)
  • Exception thrown in onCallRespond makes the client wait for response indefinitely (KTOR-7139)
  • HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (KTOR-7104)
  • OOM on SourceByteReadChannel for large input (KTOR-8190)
  • ArrayIndexOutOfBounds kotlinx-io (KTOR-8096)
  • NPE in readBuffer (KTOR-8086)
  • JS/WASM fails with "IllegalStateException: Content-Length mismatch" on requesting gzipped content (KTOR-7934)
  • Resources: a / route isn't resolved when there is a sibling staticResources (KTOR-6671)
  • Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (KTOR-8015)

3.1.0

Published 11 February 2025

Features

  • Add reconnection in ClientSSESession (KTOR-6242)
  • Add heartbeat to SSE (KTOR-7908)
  • Add serialization for SSE (KTOR-7435)
  • Support WebSockets in Curl engine (KTOR-5199)
  • Support conversion between byte channel interfaces and kotlinx-io primitives (KTOR-7327)
  • Support CIO server on WasmJS and JS targets (KTOR-865)
  • Logging: Format log like OkHttp client does (KTOR-7806)
  • Support static linking for curl on all platforms (KTOR-6754)
  • Support ARM target in Ktor client with Kotlin/Native and Curl (KTOR-4570)
  • Unix Domain Socket Support for Native Targets (KTOR-6960)

... (truncated)

Commits

Updates io.ktor:ktor-client-darwin from 3.0.1 to 3.1.2

Release notes

Sourced from io.ktor:ktor-client-darwin's releases.

3.1.2

Published 27 March 2025

Improvements

Bugfixes

  • URL-safe base64 decoding problem (KTOR-8292)
  • Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (KTOR-8312)
  • Android: "Array has more than one element" error when starting a server with release build (KTOR-7298)
  • WebSockets: extensions in sec-websocket-extensions header must be separated by comma (KTOR-6384)
  • OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (KTOR-8244)

3.1.1

Published 24 February 2025

Improvements

  • Logging: messages are printed per line with OkHttp logger format (KTOR-8218)
  • WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (KTOR-8206)

Bugfixes

  • formData: implementation of copying Source is broken (KTOR-8210)
  • Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (KTOR-8105)
  • TLS client: IOException while writing to a closed TLS socket since 3.0.0 (KTOR-7860)
  • Exception thrown in onCallRespond makes the client wait for response indefinitely (KTOR-7139)
  • HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (KTOR-7104)
  • OOM on SourceByteReadChannel for large input (KTOR-8190)
  • ArrayIndexOutOfBounds kotlinx-io (KTOR-8096)
  • NPE in readBuffer (KTOR-8086)
  • JS/WASM fails with "IllegalStateException: Content-Length mismatch" on requesting gzipped content (KTOR-7934)
  • Resources: a / route isn't resolved when there is a sibling staticResources (KTOR-6671)
  • Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (KTOR-8015)

3.1.0

Published 11 February 2025

Features

  • Add reconnection in ClientSSESession (KTOR-6242)
  • Add heartbeat to SSE (KTOR-7908)
  • Add serialization for SSE (KTOR-7435)
  • Support WebSockets in Curl engine (KTOR-5199)
  • Support conversion between byte channel interfaces and kotlinx-io primitives (KTOR-7327)
  • Support CIO server on WasmJS and JS targets (KTOR-865)
  • Logging: Format log like OkHttp client does (KTOR-7806)
  • Support static linking for curl on all platforms (KTOR-6754)
  • Support ARM target in Ktor client with Kotlin/Native and Curl (KTOR-4570)
  • Unix Domain Socket Support for Native Targets (KTOR-6960)
  • Support receiving multipart data with Ktor client (KTOR-6632)
  • Client CIO engine support for wasm-js and js (KTOR-7675)

... (truncated)

Changelog

Sourced from io.ktor:ktor-client-darwin's changelog.

3.1.2

Published 27 March 2025

Improvements

Bugfixes

  • URL-safe base64 decoding problem (KTOR-8292)
  • Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (KTOR-8312)
  • Android: "Array has more than one element" error when starting a server with release build (KTOR-7298)
  • WebSockets: extensions in sec-websocket-extensions header must be separated by comma (KTOR-6384)
  • OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (KTOR-8244)

3.1.1

Published 24 February 2025

Improvements

  • Logging: messages are printed per line with OkHttp logger format (KTOR-8218)
  • WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (KTOR-8206)

Bugfixes

  • formData: implementation of copying Source is broken (KTOR-8210)
  • Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (KTOR-8105)
  • TLS client: IOException while writing to a closed TLS socket since 3.0.0 (KTOR-7860)
  • Exception thrown in onCallRespond makes the client wait for response indefinitely (KTOR-7139)
  • HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (KTOR-7104)
  • OOM on SourceByteReadChannel for large input (KTOR-8190)
  • ArrayIndexOutOfBounds kotlinx-io (KTOR-8096)
  • NPE in readBuffer (KTOR-8086)
  • JS/WASM fails with "IllegalStateException: Content-Length mismatch" on requesting gzipped content (KTOR-7934)
  • Resources: a / route isn't resolved when there is a sibling staticResources (KTOR-6671)
  • Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (KTOR-8015)

3.1.0

Published 11 February 2025

Features

  • Add reconnection in ClientSSESession (KTOR-6242)
  • Add heartbeat to SSE (KTOR-7908)
  • Add serialization for SSE (KTOR-7435)
  • Support WebSockets in Curl engine (KTOR-5199)
  • Support conversion between byte channel interfaces and kotlinx-io primitives (KTOR-7327)
  • Support CIO server on WasmJS and JS targets (KTOR-865)
  • Logging: Format log like OkHttp client does (KTOR-7806)
  • Support static linking for curl on all platforms (KTOR-6754)
  • Support ARM target in Ktor client with Kotlin/Native and Curl (KTOR-4570)
  • Unix Domain Socket Support for Native Targets (KTOR-6960)

... (truncated)

Commits

Updates io.ktor:ktor-client-okhttp from 3.0.1 to 3.1.2

Release notes

Sourced from io.ktor:ktor-client-okhttp's releases.

3.1.2

Published 27 March 2025

Improvements

Bugfixes

  • URL-safe base64 decoding problem (KTOR-8292)
  • Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (KTOR-8312)
  • Android: "Array has more than one element" error when starting a server with release build (KTOR-7298)
  • WebSockets: extensions in sec-websocket-extensions header must be separated by comma (KTOR-6384)
  • OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (KTOR-8244)

3.1.1

Published 24 February 2025

Improvements

  • Logging: messages are printed per line with OkHttp logger format (KTOR-8218)
  • WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (KTOR-8206)

Bugfixes

  • formData: implementation of copying Source is broken (KTOR-8210)
  • Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (KTOR-8105)
  • TLS client: IOException while writing to a closed TLS socket since 3.0.0 (KTOR-7860)
  • Exception thrown in onCallRespond makes the client wait for response indefinitely (KTOR-7139)
  • HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (KTOR-7104)
  • OOM on SourceByteReadChannel for large input (KTOR-8190)
  • ArrayIndexOutOfBounds kotlinx-io (KTOR-8096)
  • NPE in readBuffer (KTOR-8086)
  • JS/WASM fails with "IllegalStateException: Content-Length mismatch" on requesting gzipped content (KTOR-7934)
  • Resources: a / route isn't resolved when there is a sibling staticResources (KTOR-6671)
  • Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (KTOR-8015)

3.1.0

Published 11 February 2025

Features

  • Add reconnection in ClientSSESession (KTOR-6242)
  • Add heartbeat to SSE (KTOR-7908)
  • Add serialization for SSE (KTOR-7435)
  • Support WebSockets in Curl engine (KTOR-5199)
  • Support conversion between byte channel interfaces and kotlinx-io primitives (KTOR-7327)
  • Support CIO server on WasmJS and JS targets (KTOR-865)
  • Logging: Format log like OkHttp client does (KTOR-7806)
  • Support static linking for curl on all platforms (KTOR-6754)
  • Support ARM target in Ktor client with Kotlin/Native and Curl (KTOR-4570)
  • Unix Domain Socket Support for Native Targets (KTOR-6960)
  • Support receiving multipart data with Ktor client (KTOR-6632)
  • Client CIO engine support for wasm-js and js (KTOR-7675)

... (truncated)

Changelog

Sourced from io.ktor:ktor-client-okhttp's changelog.

3.1.2

Published 27 March 2025

Improvements

Bugfixes

  • URL-safe base64 decoding problem (KTOR-8292)
  • Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (KTOR-8312)
  • Android: "Array has more than one element" error when starting a server with release build (KTOR-7298)
  • WebSockets: extensions in sec-websocket-extensions header must be separated by comma (KTOR-6384)
  • OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (KTOR-8244)

3.1.1

Published 24 February 2025

Improvements

  • Logging: messages are printed per line with OkHttp logger format (KTOR-8218)
  • WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (KTOR-8206)

Bugfixes

  • formData: implementation of copying Source is broken (KTOR-8210)
  • Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (KTOR-8105)
  • TLS client: IOException while writing to a closed TLS socket since 3.0.0 (KTOR-7860)
  • Exception thrown in onCallRespond makes the client wait for response indefinitely (KTOR-7139)
  • HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (KTOR-7104)
  • OOM on SourceByteReadChannel for large input (KTOR-8190)
  • ArrayIndexOutOfBounds kotlinx-io (KTOR-8096)
  • NPE in readBuffer (KTOR-8086)
  • JS/WASM fails with "IllegalStateException: Content-Length mismatch" on requesting gzipped content (KTOR-7934)
  • Resources: a / route isn't resolved when there is a sibling staticResources (KTOR-6671)
  • Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (KTOR-8015)

3.1.0

Published 11 February 2025

Features

  • Add reconnection in ClientSSESession (KTOR-6242)
  • Add heartbeat to SSE (KTOR-7908)
  • Add serialization for SSE (KTOR-7435)
  • Support WebSockets in Curl engine (KTOR-5199)
  • Support conversion between byte channel interfaces and kotlinx-io primitives (KTOR-7327)
  • Support CIO server on WasmJS and JS targets (KTOR-865)
  • Logging: Format log like OkHttp client does (KTOR-7806)
  • Support static linking for curl on all platforms (KTOR-6754)
  • Support ARM target in Ktor client with Kotlin/Native and Curl (KTOR-4570)
  • Unix Domain Socket Support for Native Targets (KTOR-6960)

... (truncated)

Commits

Updates io.ktor:ktor-client-js from 3.0.1 to 3.1.2

Release notes

Sourced from io.ktor:ktor-client-js's releases.

3.1.2

Published 27 March 2025

Improvements

Bugfixes

  • URL-safe base64 decoding problem (KTOR-8292)
  • Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (KTOR-8312)
  • Android: "Array has more than one element" error when starting a server with release build (KTOR-7298)
  • WebSockets: extensions in sec-websocket-extensions header must be separated by comma (KTOR-6384)
  • OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (KTOR-8244)

3.1.1

Published 24 February 2025

Improvements

  • Logging: messages are printed per line with OkHttp logger format (KTOR-8218)
  • WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (KTOR-8206)

Bugfixes

  • formData: implementation of copying Source is broken (KTOR-8210)
  • Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (KTOR-8105)
  • TLS client: IOException while writing to a closed TLS socket since 3.0.0 (KTOR-7860)
  • Exception thrown in onCallRespond makes the client wait for response indefinitely (KTOR-7139)
  • HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (KTOR-7104)
  • OOM on SourceByteReadChannel for large input (KTOR-8190)
  • ArrayIndexOutOfBounds kotlinx-io (KTOR-8096)
  • NPE in readBuffer (KTOR-8086)
  • JS/WASM fails with "IllegalStateException: Content-Length mismatch" on requesting gzipped content (KTOR-7934)
  • Resources: a / route isn't resolved when there is a sibling staticResources (KTOR-6671)
  • Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (KTOR-8015)

3.1.0

Published 11 February 2025

Features

  • Add reconnection in ClientSSESession (KTOR-6242)
  • Add heartbeat to SSE (KTOR-7908)
  • Add serialization for SSE (KTOR-7435)
  • Support WebSockets in Curl engine (KTOR-5199)
  • Support conversion between byte channel interfaces and kotlinx-io primitives (KTOR-7327)
  • Support CIO server on WasmJS and JS targets (KTOR-865)
  • Logging: Format log like OkHttp client does (KTOR-7806)
  • Support static linking for curl on all platforms (KTOR-6754)
  • Support ARM target in Ktor client with Kotlin/Native and Curl (KTOR-4570)
  • Unix Domain Socket Support for Native Targets (KTOR-6960)
  • Support receiving multipart data with Ktor client (KTOR-6632)
  • Client CIO engine support for wasm-js and js (KTOR-7675)

... (truncated)

Changelog

Sourced from io.ktor:ktor-client-js's changelog.

3.1.2

Published 27 March 2025

Improvements

Bugfixes

  • URL-safe base64 decoding problem (KTOR-8292)
  • Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (KTOR-8312)
  • Android: "Array has more than one element" error when starting a server with release build (KTOR-7298)
  • WebSockets: extensions in sec-websocket-extensions header must be separated by comma (KTOR-6384)
  • OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (KTOR-8244)

3.1.1

Published 24 February 2025

Improvements

  • Logging: messages are printed per line with OkHttp logger format (KTOR-8218)
  • WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (KTOR-8206)

Bugfixes

  • formData: implementation of copying Source is broken (KTOR-8210)
  • Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (KTOR-8105)
  • TLS client: IOException while writing to a closed TLS socket since 3.0.0 (KTOR-7860)
  • Exception thrown in onCallRespond makes the client wait for response indefinitely (KTOR-7139)
  • HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (KTOR-7104)
  • OOM on SourceByteReadChannel for large input (KTOR-8190)
  • ArrayIndexOutOfBounds kotlinx-io (KTOR-8096)
  • NPE in readBuffer (KTOR-8086)
  • JS/WASM fails with "IllegalStateException: Content-Length mismatch" on requesting gzipped content (KTOR-7934)
  • Resources: a / route isn't resolved when there is a sibling staticResources (KTOR-6671)
  • Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (KTOR-8015)

3.1.0

Published 11 February 2025

Features

  • Add reconnection in ClientSSESession (KTOR-6242)
  • Add heartbeat to SSE (KTOR-7908)
  • Add serialization for SSE (KTOR-7435)
  • Support WebSockets in Curl engine (KTOR-5199)
  • Support conversion between byte channel interfaces and kotlinx-io primitives (KTOR-7327)
  • Support CIO server on WasmJS and JS targets (KTOR-865)
  • Logging: Format log like OkHttp client does (KTOR-7806)
  • Support static linking for curl on all platforms (KTOR-6754)
  • Support ARM target in Ktor client with Kotlin/Native and Curl (KTOR-4570)
  • Unix Domain Socket Support for Native Targets (KTOR-6960)

... (truncated)

Commits

Updates io.ktor:ktor-client-content-negotiation from 3.0.1 to 3.1.2

Release notes

Sourced from io.ktor:ktor-client-content-negotiation's releases.

3.1.2

Published 27 March 2025

Improvements

Bugfixes

  • URL-safe base64 decoding problem (KTOR-8292)
  • Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (KTOR-8312)
  • Android: "Array has more than one element" error when starting a server with release build (KTOR-7298)
  • WebSockets: extensions in sec-websocket-extensions header must be separated by comma (KTOR-6384)
  • OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (KTOR-8244)

3.1.1

Published 24 February 2025

Improvements

  • Logging: messages are printed per line with OkHttp logger format (KTOR-8218)
  • WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (KTOR-8206)

Bugfixes

  • formData: implementation of copying Source is broken (KTOR-8210)
  • Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (KTOR-8105)
  • TLS client: IOException while writing to a closed TLS socket since 3.0.0 (KTOR-7860)
  • Exception thrown in onCallRespond makes the client wait for response indefinitely (KTOR-7139)
  • HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (KTOR-7104)
  • OOM on SourceByteReadChannel for large input (KTOR-8190)
  • ArrayIndexOutOfBounds kotlinx-io (KTOR-8096)
  • NPE in readBuffer (KTOR-8086)
  • JS/WASM fails with "IllegalStateException: Content-Length mismatch" on requesting gzipped content (KTOR-7934)
  • Resources: a / route isn't resolved when there is a sibling staticResources (KTOR-6671)
  • Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (KTOR-8015)

3.1.0

Published 11 February 2025

Features

  • Add reconnection in ClientSSESession (KTOR-6242)
  • Add heartbeat to SSE (KTOR-7908)
  • Add serialization for SSE (KTOR-7435)
  • Support WebSockets in Curl engine (KTOR-5199)
  • Support conversion between byte channel interfaces and kotlinx-io primitives (KTOR-7327)
  • Support CIO server on WasmJS and JS targets (KTOR-865)
  • Logging: Format log like OkHttp client does (KTOR-7806)
  • Support static linking for curl on all platforms (KTOR-6754)
  • Support ARM target in Ktor client with Kotlin/Native and Curl (KTOR-4570)
  • Unix Domain Socket Support for Native Targets (KTOR-6960)
  • Support receiving multipart data with Ktor client (KTOR-6632)
  • Client CIO engine support for wasm-js and js (KTOR-7675)

... (truncated)

Changelog

Sourced from io.ktor:ktor-client-content-negotiation's changelog.

3.1.2

Published 27 March 2025

Improvements

Bugfixes

  • URL-safe base64 decoding problem (KTOR-8292)
  • Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (KTOR-8312)
  • Android: "Array has more than one element" error when starting a server with release build (KTOR-7298)
  • WebSockets: extensions in sec-websocket-extensions header must be separated by comma (KTOR-6384)
  • OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (KTOR-8244)

3.1.1

Published 24 February 2025

Improvements

  • Logging: messages are printed per line with OkHttp logger format (KTOR-8218)
  • WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (KTOR-8206)

Bugfixes

  • formData: implementation of copying Source is broken (KTOR-8210)
  • Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (KTOR-8105)
  • TLS client: IOException while writing to a closed TLS socket since 3.0.0 (KTOR-7860)
  • Exception thrown in onCallRespond makes the client wait for response indefinitely (KTOR-7139)
  • HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (KTOR-7104)
  • OOM on SourceByteReadChannel for large input (KTOR-8190)
  • ArrayIndexOutOfBounds kotlinx-io (KTOR-8096)
  • NPE in readBuffer (KTOR-8086)
  • JS/WASM fails with "IllegalStateException: Content-Length mismatch" on requesting gzipped content (KTOR-7934)
  • Resources: a / route isn't resolved when there is a sibling staticResources (KTOR-6671)
  • Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (KTOR-8015)

3.1.0

Published 11 February 2025

Features

  • Add reconnection in ClientSSESession (KTOR-6242)
  • Add heartbeat to SSE (KTOR-7908)
  • Add serialization for SSE (KTOR-7435)
  • Support WebSockets in Curl engine (KTOR-5199)
  • Support conversion between byte channel interfaces and kotlinx-io primitives (KTOR-7327)
  • Support CIO server on WasmJS and JS targets (KTOR-865)
  • Logging: Format log like OkHttp client does (KTOR-7806)
  • Support static linking for curl on all platforms (KTOR-6754)
  • Support ARM target in Ktor client with Kotlin/Native and Curl (KTOR-4570)
  • Unix Domain Socket Support for Native Targets (KTOR-6960)

... (truncated)

Commits

Updates io.ktor:ktor-serialization-kotlinx-json from 3.0.1 to 3.1.2

Release notes

Sourced from io.ktor:ktor-serialization-kotlinx-json's releases.

3.1.2

Published 27 March 2025

Improvements

Bugfixes

  • URL-safe base64 decoding problem (KTOR-8292)
  • Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (KTOR-8312)
  • Android: "Array has more than one element" error when starting a server with release build (KTOR-7298)
  • WebSockets: extensions in sec-websocket-extensions header must be separated by comma (KTOR-6384)
  • OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (KTOR-8244)

3.1.1

Published 24 February 2025

Improvements

  • Logging: messages are printed per line with OkHttp logger format (KTOR-8218)
  • WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (KTOR-8206)

Bugfixes

  • formData: implementation of copying Source is...

    Description has been truncated

Bumps `ktor` from 3.0.1 to 3.1.2. Updates `io.ktor:ktor-client-core` from 3.0.1 to 3.1.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ktorio/ktor/releases">io.ktor:ktor-client-core's releases</a>.</em></p> <blockquote> <h2>3.1.2</h2> <blockquote> <p>Published 27 March 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Update Kotlin to 2.1.20 (<a href="https://youtrack.jetbrains.com/issue/KTOR-8081">KTOR-8081</a>)</li> <li>Remove empty artifacts from publication (<a href="https://youtrack.jetbrains.com/issue/KTOR-8336">KTOR-8336</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>URL-safe base64 decoding problem (<a href="https://youtrack.jetbrains.com/issue/KTOR-8292">KTOR-8292</a>)</li> <li>Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (<a href="https://youtrack.jetbrains.com/issue/KTOR-8312">KTOR-8312</a>)</li> <li>Android: &quot;Array has more than one element&quot; error when starting a server with release build (<a href="https://youtrack.jetbrains.com/issue/KTOR-7298">KTOR-7298</a>)</li> <li>WebSockets: extensions in sec-websocket-extensions header must be separated by comma (<a href="https://youtrack.jetbrains.com/issue/KTOR-6384">KTOR-6384</a>)</li> <li>OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (<a href="https://youtrack.jetbrains.com/issue/KTOR-8244">KTOR-8244</a>)</li> </ul> <h2>3.1.1</h2> <blockquote> <p>Published 24 February 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Logging: messages are printed per line with OkHttp logger format (<a href="https://youtrack.jetbrains.com/issue/KTOR-8218">KTOR-8218</a>)</li> <li>WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (<a href="https://youtrack.jetbrains.com/issue/KTOR-8206">KTOR-8206</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>formData: implementation of copying Source is broken (<a href="https://youtrack.jetbrains.com/issue/KTOR-8210">KTOR-8210</a>)</li> <li>Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (<a href="https://youtrack.jetbrains.com/issue/KTOR-8105">KTOR-8105</a>)</li> <li>TLS client: IOException while writing to a closed TLS socket since 3.0.0 (<a href="https://youtrack.jetbrains.com/issue/KTOR-7860">KTOR-7860</a>)</li> <li>Exception thrown in onCallRespond makes the client wait for response indefinitely (<a href="https://youtrack.jetbrains.com/issue/KTOR-7139">KTOR-7139</a>)</li> <li>HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (<a href="https://youtrack.jetbrains.com/issue/KTOR-7104">KTOR-7104</a>)</li> <li>OOM on SourceByteReadChannel for large input (<a href="https://youtrack.jetbrains.com/issue/KTOR-8190">KTOR-8190</a>)</li> <li>ArrayIndexOutOfBounds kotlinx-io (<a href="https://youtrack.jetbrains.com/issue/KTOR-8096">KTOR-8096</a>)</li> <li>NPE in readBuffer (<a href="https://youtrack.jetbrains.com/issue/KTOR-8086">KTOR-8086</a>)</li> <li>JS/WASM fails with &quot;IllegalStateException: Content-Length mismatch&quot; on requesting gzipped content (<a href="https://youtrack.jetbrains.com/issue/KTOR-7934">KTOR-7934</a>)</li> <li>Resources: a / route isn't resolved when there is a sibling <code>staticResources</code> (<a href="https://youtrack.jetbrains.com/issue/KTOR-6671">KTOR-6671</a>)</li> <li>Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (<a href="https://youtrack.jetbrains.com/issue/KTOR-8015">KTOR-8015</a>)</li> </ul> <h2>3.1.0</h2> <blockquote> <p>Published 11 February 2025</p> </blockquote> <h3>Features</h3> <ul> <li>Add reconnection in ClientSSESession (<a href="https://youtrack.jetbrains.com/issue/KTOR-6242">KTOR-6242</a>)</li> <li>Add heartbeat to SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7908">KTOR-7908</a>)</li> <li>Add serialization for SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7435">KTOR-7435</a>)</li> <li>Support WebSockets in Curl engine (<a href="https://youtrack.jetbrains.com/issue/KTOR-5199">KTOR-5199</a>)</li> <li>Support conversion between byte channel interfaces and kotlinx-io primitives (<a href="https://youtrack.jetbrains.com/issue/KTOR-7327">KTOR-7327</a>)</li> <li>Support CIO server on WasmJS and JS targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-865">KTOR-865</a>)</li> <li>Logging: Format log like OkHttp client does (<a href="https://youtrack.jetbrains.com/issue/KTOR-7806">KTOR-7806</a>)</li> <li>Support static linking for curl on all platforms (<a href="https://youtrack.jetbrains.com/issue/KTOR-6754">KTOR-6754</a>)</li> <li>Support ARM target in Ktor client with Kotlin/Native and Curl (<a href="https://youtrack.jetbrains.com/issue/KTOR-4570">KTOR-4570</a>)</li> <li>Unix Domain Socket Support for Native Targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-6960">KTOR-6960</a>)</li> <li>Support receiving multipart data with Ktor client (<a href="https://youtrack.jetbrains.com/issue/KTOR-6632">KTOR-6632</a>)</li> <li>Client CIO engine support for wasm-js and js (<a href="https://youtrack.jetbrains.com/issue/KTOR-7675">KTOR-7675</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ktorio/ktor/blob/main/CHANGELOG.md">io.ktor:ktor-client-core's changelog</a>.</em></p> <blockquote> <h1>3.1.2</h1> <blockquote> <p>Published 27 March 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Update Kotlin to 2.1.20 (<a href="https://youtrack.jetbrains.com/issue/KTOR-8081">KTOR-8081</a>)</li> <li>Remove empty artifacts from publication (<a href="https://youtrack.jetbrains.com/issue/KTOR-8336">KTOR-8336</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>URL-safe base64 decoding problem (<a href="https://youtrack.jetbrains.com/issue/KTOR-8292">KTOR-8292</a>)</li> <li>Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (<a href="https://youtrack.jetbrains.com/issue/KTOR-8312">KTOR-8312</a>)</li> <li>Android: &quot;Array has more than one element&quot; error when starting a server with release build (<a href="https://youtrack.jetbrains.com/issue/KTOR-7298">KTOR-7298</a>)</li> <li>WebSockets: extensions in sec-websocket-extensions header must be separated by comma (<a href="https://youtrack.jetbrains.com/issue/KTOR-6384">KTOR-6384</a>)</li> <li>OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (<a href="https://youtrack.jetbrains.com/issue/KTOR-8244">KTOR-8244</a>)</li> </ul> <h1>3.1.1</h1> <blockquote> <p>Published 24 February 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Logging: messages are printed per line with OkHttp logger format (<a href="https://youtrack.jetbrains.com/issue/KTOR-8218">KTOR-8218</a>)</li> <li>WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (<a href="https://youtrack.jetbrains.com/issue/KTOR-8206">KTOR-8206</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>formData: implementation of copying Source is broken (<a href="https://youtrack.jetbrains.com/issue/KTOR-8210">KTOR-8210</a>)</li> <li>Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (<a href="https://youtrack.jetbrains.com/issue/KTOR-8105">KTOR-8105</a>)</li> <li>TLS client: IOException while writing to a closed TLS socket since 3.0.0 (<a href="https://youtrack.jetbrains.com/issue/KTOR-7860">KTOR-7860</a>)</li> <li>Exception thrown in onCallRespond makes the client wait for response indefinitely (<a href="https://youtrack.jetbrains.com/issue/KTOR-7139">KTOR-7139</a>)</li> <li>HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (<a href="https://youtrack.jetbrains.com/issue/KTOR-7104">KTOR-7104</a>)</li> <li>OOM on SourceByteReadChannel for large input (<a href="https://youtrack.jetbrains.com/issue/KTOR-8190">KTOR-8190</a>)</li> <li>ArrayIndexOutOfBounds kotlinx-io (<a href="https://youtrack.jetbrains.com/issue/KTOR-8096">KTOR-8096</a>)</li> <li>NPE in readBuffer (<a href="https://youtrack.jetbrains.com/issue/KTOR-8086">KTOR-8086</a>)</li> <li>JS/WASM fails with &quot;IllegalStateException: Content-Length mismatch&quot; on requesting gzipped content (<a href="https://youtrack.jetbrains.com/issue/KTOR-7934">KTOR-7934</a>)</li> <li>Resources: a / route isn't resolved when there is a sibling <code>staticResources</code> (<a href="https://youtrack.jetbrains.com/issue/KTOR-6671">KTOR-6671</a>)</li> <li>Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (<a href="https://youtrack.jetbrains.com/issue/KTOR-8015">KTOR-8015</a>)</li> </ul> <h1>3.1.0</h1> <blockquote> <p>Published 11 February 2025</p> </blockquote> <h3>Features</h3> <ul> <li>Add reconnection in ClientSSESession (<a href="https://youtrack.jetbrains.com/issue/KTOR-6242">KTOR-6242</a>)</li> <li>Add heartbeat to SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7908">KTOR-7908</a>)</li> <li>Add serialization for SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7435">KTOR-7435</a>)</li> <li>Support WebSockets in Curl engine (<a href="https://youtrack.jetbrains.com/issue/KTOR-5199">KTOR-5199</a>)</li> <li>Support conversion between byte channel interfaces and kotlinx-io primitives (<a href="https://youtrack.jetbrains.com/issue/KTOR-7327">KTOR-7327</a>)</li> <li>Support CIO server on WasmJS and JS targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-865">KTOR-865</a>)</li> <li>Logging: Format log like OkHttp client does (<a href="https://youtrack.jetbrains.com/issue/KTOR-7806">KTOR-7806</a>)</li> <li>Support static linking for curl on all platforms (<a href="https://youtrack.jetbrains.com/issue/KTOR-6754">KTOR-6754</a>)</li> <li>Support ARM target in Ktor client with Kotlin/Native and Curl (<a href="https://youtrack.jetbrains.com/issue/KTOR-4570">KTOR-4570</a>)</li> <li>Unix Domain Socket Support for Native Targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-6960">KTOR-6960</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ktorio/ktor/commit/7b5e3138f10d6353ec589fd5fa643bcd23df9c6a"><code>7b5e313</code></a> Release 3.1.2 (<a href="https://redirect.github.com/ktorio/ktor/issues/4763">#4763</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/f43b7ca11e697177f41e39c3b707cac10b9edb61"><code>f43b7ca</code></a> Update jetty monorepo to v11.0.25 (<a href="https://redirect.github.com/ktorio/ktor/issues/4750">#4750</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/4064009d928b9c2d29e42085c8a356b7869cfb74"><code>4064009</code></a> Fix some flaky tests (<a href="https://redirect.github.com/ktorio/ktor/issues/4759">#4759</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/788b811baa0c612b7cf56716bfb2eb80ca939ab9"><code>788b811</code></a> Don't update develocity plugin automatically (<a href="https://redirect.github.com/ktorio/ktor/issues/4755">#4755</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/7fe92611582d6774c322c9ed538ddc5e8d2f8ac6"><code>7fe9261</code></a> Update kotlin monorepo to v2.1.20 (<a href="https://redirect.github.com/ktorio/ktor/issues/4751">#4751</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/0541e648ecb4a412ca15b4dcde51cf80d6807cee"><code>0541e64</code></a> Update ktor monorepo to v3.2.0-eap-1264 (<a href="https://redirect.github.com/ktorio/ktor/issues/4752">#4752</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/c438c2b48d9a2d548376d6ce3f056f07fec55fa6"><code>c438c2b</code></a> KTOR-7667: Enable Gradle configuration cache (<a href="https://redirect.github.com/ktorio/ktor/issues/4741">#4741</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/8a8b1867a503bdd539348cb10b03976fa719635f"><code>8a8b186</code></a> KTOR-8344 Enable build cache for settings plugins (<a href="https://redirect.github.com/ktorio/ktor/issues/4745">#4745</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/6e316974b280a4306972ee71919d881f714839cc"><code>6e31697</code></a> KTOR-7743 Make projects isolated (<a href="https://redirect.github.com/ktorio/ktor/issues/4740">#4740</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/bbf42373a496856f7fcf41ba6e6ebf3466a1d593"><code>bbf4237</code></a> KTOR-8312 Make the clearToken behavior consistent (<a href="https://redirect.github.com/ktorio/ktor/issues/4735">#4735</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ktorio/ktor/compare/3.0.1...3.1.2">compare view</a></li> </ul> </details> <br /> Updates `io.ktor:ktor-client-darwin` from 3.0.1 to 3.1.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ktorio/ktor/releases">io.ktor:ktor-client-darwin's releases</a>.</em></p> <blockquote> <h2>3.1.2</h2> <blockquote> <p>Published 27 March 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Update Kotlin to 2.1.20 (<a href="https://youtrack.jetbrains.com/issue/KTOR-8081">KTOR-8081</a>)</li> <li>Remove empty artifacts from publication (<a href="https://youtrack.jetbrains.com/issue/KTOR-8336">KTOR-8336</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>URL-safe base64 decoding problem (<a href="https://youtrack.jetbrains.com/issue/KTOR-8292">KTOR-8292</a>)</li> <li>Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (<a href="https://youtrack.jetbrains.com/issue/KTOR-8312">KTOR-8312</a>)</li> <li>Android: &quot;Array has more than one element&quot; error when starting a server with release build (<a href="https://youtrack.jetbrains.com/issue/KTOR-7298">KTOR-7298</a>)</li> <li>WebSockets: extensions in sec-websocket-extensions header must be separated by comma (<a href="https://youtrack.jetbrains.com/issue/KTOR-6384">KTOR-6384</a>)</li> <li>OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (<a href="https://youtrack.jetbrains.com/issue/KTOR-8244">KTOR-8244</a>)</li> </ul> <h2>3.1.1</h2> <blockquote> <p>Published 24 February 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Logging: messages are printed per line with OkHttp logger format (<a href="https://youtrack.jetbrains.com/issue/KTOR-8218">KTOR-8218</a>)</li> <li>WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (<a href="https://youtrack.jetbrains.com/issue/KTOR-8206">KTOR-8206</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>formData: implementation of copying Source is broken (<a href="https://youtrack.jetbrains.com/issue/KTOR-8210">KTOR-8210</a>)</li> <li>Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (<a href="https://youtrack.jetbrains.com/issue/KTOR-8105">KTOR-8105</a>)</li> <li>TLS client: IOException while writing to a closed TLS socket since 3.0.0 (<a href="https://youtrack.jetbrains.com/issue/KTOR-7860">KTOR-7860</a>)</li> <li>Exception thrown in onCallRespond makes the client wait for response indefinitely (<a href="https://youtrack.jetbrains.com/issue/KTOR-7139">KTOR-7139</a>)</li> <li>HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (<a href="https://youtrack.jetbrains.com/issue/KTOR-7104">KTOR-7104</a>)</li> <li>OOM on SourceByteReadChannel for large input (<a href="https://youtrack.jetbrains.com/issue/KTOR-8190">KTOR-8190</a>)</li> <li>ArrayIndexOutOfBounds kotlinx-io (<a href="https://youtrack.jetbrains.com/issue/KTOR-8096">KTOR-8096</a>)</li> <li>NPE in readBuffer (<a href="https://youtrack.jetbrains.com/issue/KTOR-8086">KTOR-8086</a>)</li> <li>JS/WASM fails with &quot;IllegalStateException: Content-Length mismatch&quot; on requesting gzipped content (<a href="https://youtrack.jetbrains.com/issue/KTOR-7934">KTOR-7934</a>)</li> <li>Resources: a / route isn't resolved when there is a sibling <code>staticResources</code> (<a href="https://youtrack.jetbrains.com/issue/KTOR-6671">KTOR-6671</a>)</li> <li>Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (<a href="https://youtrack.jetbrains.com/issue/KTOR-8015">KTOR-8015</a>)</li> </ul> <h2>3.1.0</h2> <blockquote> <p>Published 11 February 2025</p> </blockquote> <h3>Features</h3> <ul> <li>Add reconnection in ClientSSESession (<a href="https://youtrack.jetbrains.com/issue/KTOR-6242">KTOR-6242</a>)</li> <li>Add heartbeat to SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7908">KTOR-7908</a>)</li> <li>Add serialization for SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7435">KTOR-7435</a>)</li> <li>Support WebSockets in Curl engine (<a href="https://youtrack.jetbrains.com/issue/KTOR-5199">KTOR-5199</a>)</li> <li>Support conversion between byte channel interfaces and kotlinx-io primitives (<a href="https://youtrack.jetbrains.com/issue/KTOR-7327">KTOR-7327</a>)</li> <li>Support CIO server on WasmJS and JS targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-865">KTOR-865</a>)</li> <li>Logging: Format log like OkHttp client does (<a href="https://youtrack.jetbrains.com/issue/KTOR-7806">KTOR-7806</a>)</li> <li>Support static linking for curl on all platforms (<a href="https://youtrack.jetbrains.com/issue/KTOR-6754">KTOR-6754</a>)</li> <li>Support ARM target in Ktor client with Kotlin/Native and Curl (<a href="https://youtrack.jetbrains.com/issue/KTOR-4570">KTOR-4570</a>)</li> <li>Unix Domain Socket Support for Native Targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-6960">KTOR-6960</a>)</li> <li>Support receiving multipart data with Ktor client (<a href="https://youtrack.jetbrains.com/issue/KTOR-6632">KTOR-6632</a>)</li> <li>Client CIO engine support for wasm-js and js (<a href="https://youtrack.jetbrains.com/issue/KTOR-7675">KTOR-7675</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ktorio/ktor/blob/main/CHANGELOG.md">io.ktor:ktor-client-darwin's changelog</a>.</em></p> <blockquote> <h1>3.1.2</h1> <blockquote> <p>Published 27 March 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Update Kotlin to 2.1.20 (<a href="https://youtrack.jetbrains.com/issue/KTOR-8081">KTOR-8081</a>)</li> <li>Remove empty artifacts from publication (<a href="https://youtrack.jetbrains.com/issue/KTOR-8336">KTOR-8336</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>URL-safe base64 decoding problem (<a href="https://youtrack.jetbrains.com/issue/KTOR-8292">KTOR-8292</a>)</li> <li>Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (<a href="https://youtrack.jetbrains.com/issue/KTOR-8312">KTOR-8312</a>)</li> <li>Android: &quot;Array has more than one element&quot; error when starting a server with release build (<a href="https://youtrack.jetbrains.com/issue/KTOR-7298">KTOR-7298</a>)</li> <li>WebSockets: extensions in sec-websocket-extensions header must be separated by comma (<a href="https://youtrack.jetbrains.com/issue/KTOR-6384">KTOR-6384</a>)</li> <li>OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (<a href="https://youtrack.jetbrains.com/issue/KTOR-8244">KTOR-8244</a>)</li> </ul> <h1>3.1.1</h1> <blockquote> <p>Published 24 February 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Logging: messages are printed per line with OkHttp logger format (<a href="https://youtrack.jetbrains.com/issue/KTOR-8218">KTOR-8218</a>)</li> <li>WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (<a href="https://youtrack.jetbrains.com/issue/KTOR-8206">KTOR-8206</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>formData: implementation of copying Source is broken (<a href="https://youtrack.jetbrains.com/issue/KTOR-8210">KTOR-8210</a>)</li> <li>Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (<a href="https://youtrack.jetbrains.com/issue/KTOR-8105">KTOR-8105</a>)</li> <li>TLS client: IOException while writing to a closed TLS socket since 3.0.0 (<a href="https://youtrack.jetbrains.com/issue/KTOR-7860">KTOR-7860</a>)</li> <li>Exception thrown in onCallRespond makes the client wait for response indefinitely (<a href="https://youtrack.jetbrains.com/issue/KTOR-7139">KTOR-7139</a>)</li> <li>HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (<a href="https://youtrack.jetbrains.com/issue/KTOR-7104">KTOR-7104</a>)</li> <li>OOM on SourceByteReadChannel for large input (<a href="https://youtrack.jetbrains.com/issue/KTOR-8190">KTOR-8190</a>)</li> <li>ArrayIndexOutOfBounds kotlinx-io (<a href="https://youtrack.jetbrains.com/issue/KTOR-8096">KTOR-8096</a>)</li> <li>NPE in readBuffer (<a href="https://youtrack.jetbrains.com/issue/KTOR-8086">KTOR-8086</a>)</li> <li>JS/WASM fails with &quot;IllegalStateException: Content-Length mismatch&quot; on requesting gzipped content (<a href="https://youtrack.jetbrains.com/issue/KTOR-7934">KTOR-7934</a>)</li> <li>Resources: a / route isn't resolved when there is a sibling <code>staticResources</code> (<a href="https://youtrack.jetbrains.com/issue/KTOR-6671">KTOR-6671</a>)</li> <li>Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (<a href="https://youtrack.jetbrains.com/issue/KTOR-8015">KTOR-8015</a>)</li> </ul> <h1>3.1.0</h1> <blockquote> <p>Published 11 February 2025</p> </blockquote> <h3>Features</h3> <ul> <li>Add reconnection in ClientSSESession (<a href="https://youtrack.jetbrains.com/issue/KTOR-6242">KTOR-6242</a>)</li> <li>Add heartbeat to SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7908">KTOR-7908</a>)</li> <li>Add serialization for SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7435">KTOR-7435</a>)</li> <li>Support WebSockets in Curl engine (<a href="https://youtrack.jetbrains.com/issue/KTOR-5199">KTOR-5199</a>)</li> <li>Support conversion between byte channel interfaces and kotlinx-io primitives (<a href="https://youtrack.jetbrains.com/issue/KTOR-7327">KTOR-7327</a>)</li> <li>Support CIO server on WasmJS and JS targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-865">KTOR-865</a>)</li> <li>Logging: Format log like OkHttp client does (<a href="https://youtrack.jetbrains.com/issue/KTOR-7806">KTOR-7806</a>)</li> <li>Support static linking for curl on all platforms (<a href="https://youtrack.jetbrains.com/issue/KTOR-6754">KTOR-6754</a>)</li> <li>Support ARM target in Ktor client with Kotlin/Native and Curl (<a href="https://youtrack.jetbrains.com/issue/KTOR-4570">KTOR-4570</a>)</li> <li>Unix Domain Socket Support for Native Targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-6960">KTOR-6960</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ktorio/ktor/commit/7b5e3138f10d6353ec589fd5fa643bcd23df9c6a"><code>7b5e313</code></a> Release 3.1.2 (<a href="https://redirect.github.com/ktorio/ktor/issues/4763">#4763</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/f43b7ca11e697177f41e39c3b707cac10b9edb61"><code>f43b7ca</code></a> Update jetty monorepo to v11.0.25 (<a href="https://redirect.github.com/ktorio/ktor/issues/4750">#4750</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/4064009d928b9c2d29e42085c8a356b7869cfb74"><code>4064009</code></a> Fix some flaky tests (<a href="https://redirect.github.com/ktorio/ktor/issues/4759">#4759</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/788b811baa0c612b7cf56716bfb2eb80ca939ab9"><code>788b811</code></a> Don't update develocity plugin automatically (<a href="https://redirect.github.com/ktorio/ktor/issues/4755">#4755</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/7fe92611582d6774c322c9ed538ddc5e8d2f8ac6"><code>7fe9261</code></a> Update kotlin monorepo to v2.1.20 (<a href="https://redirect.github.com/ktorio/ktor/issues/4751">#4751</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/0541e648ecb4a412ca15b4dcde51cf80d6807cee"><code>0541e64</code></a> Update ktor monorepo to v3.2.0-eap-1264 (<a href="https://redirect.github.com/ktorio/ktor/issues/4752">#4752</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/c438c2b48d9a2d548376d6ce3f056f07fec55fa6"><code>c438c2b</code></a> KTOR-7667: Enable Gradle configuration cache (<a href="https://redirect.github.com/ktorio/ktor/issues/4741">#4741</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/8a8b1867a503bdd539348cb10b03976fa719635f"><code>8a8b186</code></a> KTOR-8344 Enable build cache for settings plugins (<a href="https://redirect.github.com/ktorio/ktor/issues/4745">#4745</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/6e316974b280a4306972ee71919d881f714839cc"><code>6e31697</code></a> KTOR-7743 Make projects isolated (<a href="https://redirect.github.com/ktorio/ktor/issues/4740">#4740</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/bbf42373a496856f7fcf41ba6e6ebf3466a1d593"><code>bbf4237</code></a> KTOR-8312 Make the clearToken behavior consistent (<a href="https://redirect.github.com/ktorio/ktor/issues/4735">#4735</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ktorio/ktor/compare/3.0.1...3.1.2">compare view</a></li> </ul> </details> <br /> Updates `io.ktor:ktor-client-okhttp` from 3.0.1 to 3.1.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ktorio/ktor/releases">io.ktor:ktor-client-okhttp's releases</a>.</em></p> <blockquote> <h2>3.1.2</h2> <blockquote> <p>Published 27 March 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Update Kotlin to 2.1.20 (<a href="https://youtrack.jetbrains.com/issue/KTOR-8081">KTOR-8081</a>)</li> <li>Remove empty artifacts from publication (<a href="https://youtrack.jetbrains.com/issue/KTOR-8336">KTOR-8336</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>URL-safe base64 decoding problem (<a href="https://youtrack.jetbrains.com/issue/KTOR-8292">KTOR-8292</a>)</li> <li>Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (<a href="https://youtrack.jetbrains.com/issue/KTOR-8312">KTOR-8312</a>)</li> <li>Android: &quot;Array has more than one element&quot; error when starting a server with release build (<a href="https://youtrack.jetbrains.com/issue/KTOR-7298">KTOR-7298</a>)</li> <li>WebSockets: extensions in sec-websocket-extensions header must be separated by comma (<a href="https://youtrack.jetbrains.com/issue/KTOR-6384">KTOR-6384</a>)</li> <li>OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (<a href="https://youtrack.jetbrains.com/issue/KTOR-8244">KTOR-8244</a>)</li> </ul> <h2>3.1.1</h2> <blockquote> <p>Published 24 February 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Logging: messages are printed per line with OkHttp logger format (<a href="https://youtrack.jetbrains.com/issue/KTOR-8218">KTOR-8218</a>)</li> <li>WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (<a href="https://youtrack.jetbrains.com/issue/KTOR-8206">KTOR-8206</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>formData: implementation of copying Source is broken (<a href="https://youtrack.jetbrains.com/issue/KTOR-8210">KTOR-8210</a>)</li> <li>Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (<a href="https://youtrack.jetbrains.com/issue/KTOR-8105">KTOR-8105</a>)</li> <li>TLS client: IOException while writing to a closed TLS socket since 3.0.0 (<a href="https://youtrack.jetbrains.com/issue/KTOR-7860">KTOR-7860</a>)</li> <li>Exception thrown in onCallRespond makes the client wait for response indefinitely (<a href="https://youtrack.jetbrains.com/issue/KTOR-7139">KTOR-7139</a>)</li> <li>HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (<a href="https://youtrack.jetbrains.com/issue/KTOR-7104">KTOR-7104</a>)</li> <li>OOM on SourceByteReadChannel for large input (<a href="https://youtrack.jetbrains.com/issue/KTOR-8190">KTOR-8190</a>)</li> <li>ArrayIndexOutOfBounds kotlinx-io (<a href="https://youtrack.jetbrains.com/issue/KTOR-8096">KTOR-8096</a>)</li> <li>NPE in readBuffer (<a href="https://youtrack.jetbrains.com/issue/KTOR-8086">KTOR-8086</a>)</li> <li>JS/WASM fails with &quot;IllegalStateException: Content-Length mismatch&quot; on requesting gzipped content (<a href="https://youtrack.jetbrains.com/issue/KTOR-7934">KTOR-7934</a>)</li> <li>Resources: a / route isn't resolved when there is a sibling <code>staticResources</code> (<a href="https://youtrack.jetbrains.com/issue/KTOR-6671">KTOR-6671</a>)</li> <li>Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (<a href="https://youtrack.jetbrains.com/issue/KTOR-8015">KTOR-8015</a>)</li> </ul> <h2>3.1.0</h2> <blockquote> <p>Published 11 February 2025</p> </blockquote> <h3>Features</h3> <ul> <li>Add reconnection in ClientSSESession (<a href="https://youtrack.jetbrains.com/issue/KTOR-6242">KTOR-6242</a>)</li> <li>Add heartbeat to SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7908">KTOR-7908</a>)</li> <li>Add serialization for SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7435">KTOR-7435</a>)</li> <li>Support WebSockets in Curl engine (<a href="https://youtrack.jetbrains.com/issue/KTOR-5199">KTOR-5199</a>)</li> <li>Support conversion between byte channel interfaces and kotlinx-io primitives (<a href="https://youtrack.jetbrains.com/issue/KTOR-7327">KTOR-7327</a>)</li> <li>Support CIO server on WasmJS and JS targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-865">KTOR-865</a>)</li> <li>Logging: Format log like OkHttp client does (<a href="https://youtrack.jetbrains.com/issue/KTOR-7806">KTOR-7806</a>)</li> <li>Support static linking for curl on all platforms (<a href="https://youtrack.jetbrains.com/issue/KTOR-6754">KTOR-6754</a>)</li> <li>Support ARM target in Ktor client with Kotlin/Native and Curl (<a href="https://youtrack.jetbrains.com/issue/KTOR-4570">KTOR-4570</a>)</li> <li>Unix Domain Socket Support for Native Targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-6960">KTOR-6960</a>)</li> <li>Support receiving multipart data with Ktor client (<a href="https://youtrack.jetbrains.com/issue/KTOR-6632">KTOR-6632</a>)</li> <li>Client CIO engine support for wasm-js and js (<a href="https://youtrack.jetbrains.com/issue/KTOR-7675">KTOR-7675</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ktorio/ktor/blob/main/CHANGELOG.md">io.ktor:ktor-client-okhttp's changelog</a>.</em></p> <blockquote> <h1>3.1.2</h1> <blockquote> <p>Published 27 March 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Update Kotlin to 2.1.20 (<a href="https://youtrack.jetbrains.com/issue/KTOR-8081">KTOR-8081</a>)</li> <li>Remove empty artifacts from publication (<a href="https://youtrack.jetbrains.com/issue/KTOR-8336">KTOR-8336</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>URL-safe base64 decoding problem (<a href="https://youtrack.jetbrains.com/issue/KTOR-8292">KTOR-8292</a>)</li> <li>Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (<a href="https://youtrack.jetbrains.com/issue/KTOR-8312">KTOR-8312</a>)</li> <li>Android: &quot;Array has more than one element&quot; error when starting a server with release build (<a href="https://youtrack.jetbrains.com/issue/KTOR-7298">KTOR-7298</a>)</li> <li>WebSockets: extensions in sec-websocket-extensions header must be separated by comma (<a href="https://youtrack.jetbrains.com/issue/KTOR-6384">KTOR-6384</a>)</li> <li>OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (<a href="https://youtrack.jetbrains.com/issue/KTOR-8244">KTOR-8244</a>)</li> </ul> <h1>3.1.1</h1> <blockquote> <p>Published 24 February 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Logging: messages are printed per line with OkHttp logger format (<a href="https://youtrack.jetbrains.com/issue/KTOR-8218">KTOR-8218</a>)</li> <li>WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (<a href="https://youtrack.jetbrains.com/issue/KTOR-8206">KTOR-8206</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>formData: implementation of copying Source is broken (<a href="https://youtrack.jetbrains.com/issue/KTOR-8210">KTOR-8210</a>)</li> <li>Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (<a href="https://youtrack.jetbrains.com/issue/KTOR-8105">KTOR-8105</a>)</li> <li>TLS client: IOException while writing to a closed TLS socket since 3.0.0 (<a href="https://youtrack.jetbrains.com/issue/KTOR-7860">KTOR-7860</a>)</li> <li>Exception thrown in onCallRespond makes the client wait for response indefinitely (<a href="https://youtrack.jetbrains.com/issue/KTOR-7139">KTOR-7139</a>)</li> <li>HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (<a href="https://youtrack.jetbrains.com/issue/KTOR-7104">KTOR-7104</a>)</li> <li>OOM on SourceByteReadChannel for large input (<a href="https://youtrack.jetbrains.com/issue/KTOR-8190">KTOR-8190</a>)</li> <li>ArrayIndexOutOfBounds kotlinx-io (<a href="https://youtrack.jetbrains.com/issue/KTOR-8096">KTOR-8096</a>)</li> <li>NPE in readBuffer (<a href="https://youtrack.jetbrains.com/issue/KTOR-8086">KTOR-8086</a>)</li> <li>JS/WASM fails with &quot;IllegalStateException: Content-Length mismatch&quot; on requesting gzipped content (<a href="https://youtrack.jetbrains.com/issue/KTOR-7934">KTOR-7934</a>)</li> <li>Resources: a / route isn't resolved when there is a sibling <code>staticResources</code> (<a href="https://youtrack.jetbrains.com/issue/KTOR-6671">KTOR-6671</a>)</li> <li>Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (<a href="https://youtrack.jetbrains.com/issue/KTOR-8015">KTOR-8015</a>)</li> </ul> <h1>3.1.0</h1> <blockquote> <p>Published 11 February 2025</p> </blockquote> <h3>Features</h3> <ul> <li>Add reconnection in ClientSSESession (<a href="https://youtrack.jetbrains.com/issue/KTOR-6242">KTOR-6242</a>)</li> <li>Add heartbeat to SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7908">KTOR-7908</a>)</li> <li>Add serialization for SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7435">KTOR-7435</a>)</li> <li>Support WebSockets in Curl engine (<a href="https://youtrack.jetbrains.com/issue/KTOR-5199">KTOR-5199</a>)</li> <li>Support conversion between byte channel interfaces and kotlinx-io primitives (<a href="https://youtrack.jetbrains.com/issue/KTOR-7327">KTOR-7327</a>)</li> <li>Support CIO server on WasmJS and JS targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-865">KTOR-865</a>)</li> <li>Logging: Format log like OkHttp client does (<a href="https://youtrack.jetbrains.com/issue/KTOR-7806">KTOR-7806</a>)</li> <li>Support static linking for curl on all platforms (<a href="https://youtrack.jetbrains.com/issue/KTOR-6754">KTOR-6754</a>)</li> <li>Support ARM target in Ktor client with Kotlin/Native and Curl (<a href="https://youtrack.jetbrains.com/issue/KTOR-4570">KTOR-4570</a>)</li> <li>Unix Domain Socket Support for Native Targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-6960">KTOR-6960</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ktorio/ktor/commit/7b5e3138f10d6353ec589fd5fa643bcd23df9c6a"><code>7b5e313</code></a> Release 3.1.2 (<a href="https://redirect.github.com/ktorio/ktor/issues/4763">#4763</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/f43b7ca11e697177f41e39c3b707cac10b9edb61"><code>f43b7ca</code></a> Update jetty monorepo to v11.0.25 (<a href="https://redirect.github.com/ktorio/ktor/issues/4750">#4750</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/4064009d928b9c2d29e42085c8a356b7869cfb74"><code>4064009</code></a> Fix some flaky tests (<a href="https://redirect.github.com/ktorio/ktor/issues/4759">#4759</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/788b811baa0c612b7cf56716bfb2eb80ca939ab9"><code>788b811</code></a> Don't update develocity plugin automatically (<a href="https://redirect.github.com/ktorio/ktor/issues/4755">#4755</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/7fe92611582d6774c322c9ed538ddc5e8d2f8ac6"><code>7fe9261</code></a> Update kotlin monorepo to v2.1.20 (<a href="https://redirect.github.com/ktorio/ktor/issues/4751">#4751</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/0541e648ecb4a412ca15b4dcde51cf80d6807cee"><code>0541e64</code></a> Update ktor monorepo to v3.2.0-eap-1264 (<a href="https://redirect.github.com/ktorio/ktor/issues/4752">#4752</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/c438c2b48d9a2d548376d6ce3f056f07fec55fa6"><code>c438c2b</code></a> KTOR-7667: Enable Gradle configuration cache (<a href="https://redirect.github.com/ktorio/ktor/issues/4741">#4741</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/8a8b1867a503bdd539348cb10b03976fa719635f"><code>8a8b186</code></a> KTOR-8344 Enable build cache for settings plugins (<a href="https://redirect.github.com/ktorio/ktor/issues/4745">#4745</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/6e316974b280a4306972ee71919d881f714839cc"><code>6e31697</code></a> KTOR-7743 Make projects isolated (<a href="https://redirect.github.com/ktorio/ktor/issues/4740">#4740</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/bbf42373a496856f7fcf41ba6e6ebf3466a1d593"><code>bbf4237</code></a> KTOR-8312 Make the clearToken behavior consistent (<a href="https://redirect.github.com/ktorio/ktor/issues/4735">#4735</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ktorio/ktor/compare/3.0.1...3.1.2">compare view</a></li> </ul> </details> <br /> Updates `io.ktor:ktor-client-js` from 3.0.1 to 3.1.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ktorio/ktor/releases">io.ktor:ktor-client-js's releases</a>.</em></p> <blockquote> <h2>3.1.2</h2> <blockquote> <p>Published 27 March 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Update Kotlin to 2.1.20 (<a href="https://youtrack.jetbrains.com/issue/KTOR-8081">KTOR-8081</a>)</li> <li>Remove empty artifacts from publication (<a href="https://youtrack.jetbrains.com/issue/KTOR-8336">KTOR-8336</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>URL-safe base64 decoding problem (<a href="https://youtrack.jetbrains.com/issue/KTOR-8292">KTOR-8292</a>)</li> <li>Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (<a href="https://youtrack.jetbrains.com/issue/KTOR-8312">KTOR-8312</a>)</li> <li>Android: &quot;Array has more than one element&quot; error when starting a server with release build (<a href="https://youtrack.jetbrains.com/issue/KTOR-7298">KTOR-7298</a>)</li> <li>WebSockets: extensions in sec-websocket-extensions header must be separated by comma (<a href="https://youtrack.jetbrains.com/issue/KTOR-6384">KTOR-6384</a>)</li> <li>OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (<a href="https://youtrack.jetbrains.com/issue/KTOR-8244">KTOR-8244</a>)</li> </ul> <h2>3.1.1</h2> <blockquote> <p>Published 24 February 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Logging: messages are printed per line with OkHttp logger format (<a href="https://youtrack.jetbrains.com/issue/KTOR-8218">KTOR-8218</a>)</li> <li>WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (<a href="https://youtrack.jetbrains.com/issue/KTOR-8206">KTOR-8206</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>formData: implementation of copying Source is broken (<a href="https://youtrack.jetbrains.com/issue/KTOR-8210">KTOR-8210</a>)</li> <li>Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (<a href="https://youtrack.jetbrains.com/issue/KTOR-8105">KTOR-8105</a>)</li> <li>TLS client: IOException while writing to a closed TLS socket since 3.0.0 (<a href="https://youtrack.jetbrains.com/issue/KTOR-7860">KTOR-7860</a>)</li> <li>Exception thrown in onCallRespond makes the client wait for response indefinitely (<a href="https://youtrack.jetbrains.com/issue/KTOR-7139">KTOR-7139</a>)</li> <li>HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (<a href="https://youtrack.jetbrains.com/issue/KTOR-7104">KTOR-7104</a>)</li> <li>OOM on SourceByteReadChannel for large input (<a href="https://youtrack.jetbrains.com/issue/KTOR-8190">KTOR-8190</a>)</li> <li>ArrayIndexOutOfBounds kotlinx-io (<a href="https://youtrack.jetbrains.com/issue/KTOR-8096">KTOR-8096</a>)</li> <li>NPE in readBuffer (<a href="https://youtrack.jetbrains.com/issue/KTOR-8086">KTOR-8086</a>)</li> <li>JS/WASM fails with &quot;IllegalStateException: Content-Length mismatch&quot; on requesting gzipped content (<a href="https://youtrack.jetbrains.com/issue/KTOR-7934">KTOR-7934</a>)</li> <li>Resources: a / route isn't resolved when there is a sibling <code>staticResources</code> (<a href="https://youtrack.jetbrains.com/issue/KTOR-6671">KTOR-6671</a>)</li> <li>Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (<a href="https://youtrack.jetbrains.com/issue/KTOR-8015">KTOR-8015</a>)</li> </ul> <h2>3.1.0</h2> <blockquote> <p>Published 11 February 2025</p> </blockquote> <h3>Features</h3> <ul> <li>Add reconnection in ClientSSESession (<a href="https://youtrack.jetbrains.com/issue/KTOR-6242">KTOR-6242</a>)</li> <li>Add heartbeat to SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7908">KTOR-7908</a>)</li> <li>Add serialization for SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7435">KTOR-7435</a>)</li> <li>Support WebSockets in Curl engine (<a href="https://youtrack.jetbrains.com/issue/KTOR-5199">KTOR-5199</a>)</li> <li>Support conversion between byte channel interfaces and kotlinx-io primitives (<a href="https://youtrack.jetbrains.com/issue/KTOR-7327">KTOR-7327</a>)</li> <li>Support CIO server on WasmJS and JS targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-865">KTOR-865</a>)</li> <li>Logging: Format log like OkHttp client does (<a href="https://youtrack.jetbrains.com/issue/KTOR-7806">KTOR-7806</a>)</li> <li>Support static linking for curl on all platforms (<a href="https://youtrack.jetbrains.com/issue/KTOR-6754">KTOR-6754</a>)</li> <li>Support ARM target in Ktor client with Kotlin/Native and Curl (<a href="https://youtrack.jetbrains.com/issue/KTOR-4570">KTOR-4570</a>)</li> <li>Unix Domain Socket Support for Native Targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-6960">KTOR-6960</a>)</li> <li>Support receiving multipart data with Ktor client (<a href="https://youtrack.jetbrains.com/issue/KTOR-6632">KTOR-6632</a>)</li> <li>Client CIO engine support for wasm-js and js (<a href="https://youtrack.jetbrains.com/issue/KTOR-7675">KTOR-7675</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ktorio/ktor/blob/main/CHANGELOG.md">io.ktor:ktor-client-js's changelog</a>.</em></p> <blockquote> <h1>3.1.2</h1> <blockquote> <p>Published 27 March 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Update Kotlin to 2.1.20 (<a href="https://youtrack.jetbrains.com/issue/KTOR-8081">KTOR-8081</a>)</li> <li>Remove empty artifacts from publication (<a href="https://youtrack.jetbrains.com/issue/KTOR-8336">KTOR-8336</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>URL-safe base64 decoding problem (<a href="https://youtrack.jetbrains.com/issue/KTOR-8292">KTOR-8292</a>)</li> <li>Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (<a href="https://youtrack.jetbrains.com/issue/KTOR-8312">KTOR-8312</a>)</li> <li>Android: &quot;Array has more than one element&quot; error when starting a server with release build (<a href="https://youtrack.jetbrains.com/issue/KTOR-7298">KTOR-7298</a>)</li> <li>WebSockets: extensions in sec-websocket-extensions header must be separated by comma (<a href="https://youtrack.jetbrains.com/issue/KTOR-6384">KTOR-6384</a>)</li> <li>OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (<a href="https://youtrack.jetbrains.com/issue/KTOR-8244">KTOR-8244</a>)</li> </ul> <h1>3.1.1</h1> <blockquote> <p>Published 24 February 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Logging: messages are printed per line with OkHttp logger format (<a href="https://youtrack.jetbrains.com/issue/KTOR-8218">KTOR-8218</a>)</li> <li>WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (<a href="https://youtrack.jetbrains.com/issue/KTOR-8206">KTOR-8206</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>formData: implementation of copying Source is broken (<a href="https://youtrack.jetbrains.com/issue/KTOR-8210">KTOR-8210</a>)</li> <li>Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (<a href="https://youtrack.jetbrains.com/issue/KTOR-8105">KTOR-8105</a>)</li> <li>TLS client: IOException while writing to a closed TLS socket since 3.0.0 (<a href="https://youtrack.jetbrains.com/issue/KTOR-7860">KTOR-7860</a>)</li> <li>Exception thrown in onCallRespond makes the client wait for response indefinitely (<a href="https://youtrack.jetbrains.com/issue/KTOR-7139">KTOR-7139</a>)</li> <li>HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (<a href="https://youtrack.jetbrains.com/issue/KTOR-7104">KTOR-7104</a>)</li> <li>OOM on SourceByteReadChannel for large input (<a href="https://youtrack.jetbrains.com/issue/KTOR-8190">KTOR-8190</a>)</li> <li>ArrayIndexOutOfBounds kotlinx-io (<a href="https://youtrack.jetbrains.com/issue/KTOR-8096">KTOR-8096</a>)</li> <li>NPE in readBuffer (<a href="https://youtrack.jetbrains.com/issue/KTOR-8086">KTOR-8086</a>)</li> <li>JS/WASM fails with &quot;IllegalStateException: Content-Length mismatch&quot; on requesting gzipped content (<a href="https://youtrack.jetbrains.com/issue/KTOR-7934">KTOR-7934</a>)</li> <li>Resources: a / route isn't resolved when there is a sibling <code>staticResources</code> (<a href="https://youtrack.jetbrains.com/issue/KTOR-6671">KTOR-6671</a>)</li> <li>Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (<a href="https://youtrack.jetbrains.com/issue/KTOR-8015">KTOR-8015</a>)</li> </ul> <h1>3.1.0</h1> <blockquote> <p>Published 11 February 2025</p> </blockquote> <h3>Features</h3> <ul> <li>Add reconnection in ClientSSESession (<a href="https://youtrack.jetbrains.com/issue/KTOR-6242">KTOR-6242</a>)</li> <li>Add heartbeat to SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7908">KTOR-7908</a>)</li> <li>Add serialization for SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7435">KTOR-7435</a>)</li> <li>Support WebSockets in Curl engine (<a href="https://youtrack.jetbrains.com/issue/KTOR-5199">KTOR-5199</a>)</li> <li>Support conversion between byte channel interfaces and kotlinx-io primitives (<a href="https://youtrack.jetbrains.com/issue/KTOR-7327">KTOR-7327</a>)</li> <li>Support CIO server on WasmJS and JS targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-865">KTOR-865</a>)</li> <li>Logging: Format log like OkHttp client does (<a href="https://youtrack.jetbrains.com/issue/KTOR-7806">KTOR-7806</a>)</li> <li>Support static linking for curl on all platforms (<a href="https://youtrack.jetbrains.com/issue/KTOR-6754">KTOR-6754</a>)</li> <li>Support ARM target in Ktor client with Kotlin/Native and Curl (<a href="https://youtrack.jetbrains.com/issue/KTOR-4570">KTOR-4570</a>)</li> <li>Unix Domain Socket Support for Native Targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-6960">KTOR-6960</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ktorio/ktor/commit/7b5e3138f10d6353ec589fd5fa643bcd23df9c6a"><code>7b5e313</code></a> Release 3.1.2 (<a href="https://redirect.github.com/ktorio/ktor/issues/4763">#4763</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/f43b7ca11e697177f41e39c3b707cac10b9edb61"><code>f43b7ca</code></a> Update jetty monorepo to v11.0.25 (<a href="https://redirect.github.com/ktorio/ktor/issues/4750">#4750</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/4064009d928b9c2d29e42085c8a356b7869cfb74"><code>4064009</code></a> Fix some flaky tests (<a href="https://redirect.github.com/ktorio/ktor/issues/4759">#4759</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/788b811baa0c612b7cf56716bfb2eb80ca939ab9"><code>788b811</code></a> Don't update develocity plugin automatically (<a href="https://redirect.github.com/ktorio/ktor/issues/4755">#4755</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/7fe92611582d6774c322c9ed538ddc5e8d2f8ac6"><code>7fe9261</code></a> Update kotlin monorepo to v2.1.20 (<a href="https://redirect.github.com/ktorio/ktor/issues/4751">#4751</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/0541e648ecb4a412ca15b4dcde51cf80d6807cee"><code>0541e64</code></a> Update ktor monorepo to v3.2.0-eap-1264 (<a href="https://redirect.github.com/ktorio/ktor/issues/4752">#4752</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/c438c2b48d9a2d548376d6ce3f056f07fec55fa6"><code>c438c2b</code></a> KTOR-7667: Enable Gradle configuration cache (<a href="https://redirect.github.com/ktorio/ktor/issues/4741">#4741</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/8a8b1867a503bdd539348cb10b03976fa719635f"><code>8a8b186</code></a> KTOR-8344 Enable build cache for settings plugins (<a href="https://redirect.github.com/ktorio/ktor/issues/4745">#4745</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/6e316974b280a4306972ee71919d881f714839cc"><code>6e31697</code></a> KTOR-7743 Make projects isolated (<a href="https://redirect.github.com/ktorio/ktor/issues/4740">#4740</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/bbf42373a496856f7fcf41ba6e6ebf3466a1d593"><code>bbf4237</code></a> KTOR-8312 Make the clearToken behavior consistent (<a href="https://redirect.github.com/ktorio/ktor/issues/4735">#4735</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ktorio/ktor/compare/3.0.1...3.1.2">compare view</a></li> </ul> </details> <br /> Updates `io.ktor:ktor-client-content-negotiation` from 3.0.1 to 3.1.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ktorio/ktor/releases">io.ktor:ktor-client-content-negotiation's releases</a>.</em></p> <blockquote> <h2>3.1.2</h2> <blockquote> <p>Published 27 March 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Update Kotlin to 2.1.20 (<a href="https://youtrack.jetbrains.com/issue/KTOR-8081">KTOR-8081</a>)</li> <li>Remove empty artifacts from publication (<a href="https://youtrack.jetbrains.com/issue/KTOR-8336">KTOR-8336</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>URL-safe base64 decoding problem (<a href="https://youtrack.jetbrains.com/issue/KTOR-8292">KTOR-8292</a>)</li> <li>Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (<a href="https://youtrack.jetbrains.com/issue/KTOR-8312">KTOR-8312</a>)</li> <li>Android: &quot;Array has more than one element&quot; error when starting a server with release build (<a href="https://youtrack.jetbrains.com/issue/KTOR-7298">KTOR-7298</a>)</li> <li>WebSockets: extensions in sec-websocket-extensions header must be separated by comma (<a href="https://youtrack.jetbrains.com/issue/KTOR-6384">KTOR-6384</a>)</li> <li>OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (<a href="https://youtrack.jetbrains.com/issue/KTOR-8244">KTOR-8244</a>)</li> </ul> <h2>3.1.1</h2> <blockquote> <p>Published 24 February 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Logging: messages are printed per line with OkHttp logger format (<a href="https://youtrack.jetbrains.com/issue/KTOR-8218">KTOR-8218</a>)</li> <li>WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (<a href="https://youtrack.jetbrains.com/issue/KTOR-8206">KTOR-8206</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>formData: implementation of copying Source is broken (<a href="https://youtrack.jetbrains.com/issue/KTOR-8210">KTOR-8210</a>)</li> <li>Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (<a href="https://youtrack.jetbrains.com/issue/KTOR-8105">KTOR-8105</a>)</li> <li>TLS client: IOException while writing to a closed TLS socket since 3.0.0 (<a href="https://youtrack.jetbrains.com/issue/KTOR-7860">KTOR-7860</a>)</li> <li>Exception thrown in onCallRespond makes the client wait for response indefinitely (<a href="https://youtrack.jetbrains.com/issue/KTOR-7139">KTOR-7139</a>)</li> <li>HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (<a href="https://youtrack.jetbrains.com/issue/KTOR-7104">KTOR-7104</a>)</li> <li>OOM on SourceByteReadChannel for large input (<a href="https://youtrack.jetbrains.com/issue/KTOR-8190">KTOR-8190</a>)</li> <li>ArrayIndexOutOfBounds kotlinx-io (<a href="https://youtrack.jetbrains.com/issue/KTOR-8096">KTOR-8096</a>)</li> <li>NPE in readBuffer (<a href="https://youtrack.jetbrains.com/issue/KTOR-8086">KTOR-8086</a>)</li> <li>JS/WASM fails with &quot;IllegalStateException: Content-Length mismatch&quot; on requesting gzipped content (<a href="https://youtrack.jetbrains.com/issue/KTOR-7934">KTOR-7934</a>)</li> <li>Resources: a / route isn't resolved when there is a sibling <code>staticResources</code> (<a href="https://youtrack.jetbrains.com/issue/KTOR-6671">KTOR-6671</a>)</li> <li>Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (<a href="https://youtrack.jetbrains.com/issue/KTOR-8015">KTOR-8015</a>)</li> </ul> <h2>3.1.0</h2> <blockquote> <p>Published 11 February 2025</p> </blockquote> <h3>Features</h3> <ul> <li>Add reconnection in ClientSSESession (<a href="https://youtrack.jetbrains.com/issue/KTOR-6242">KTOR-6242</a>)</li> <li>Add heartbeat to SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7908">KTOR-7908</a>)</li> <li>Add serialization for SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7435">KTOR-7435</a>)</li> <li>Support WebSockets in Curl engine (<a href="https://youtrack.jetbrains.com/issue/KTOR-5199">KTOR-5199</a>)</li> <li>Support conversion between byte channel interfaces and kotlinx-io primitives (<a href="https://youtrack.jetbrains.com/issue/KTOR-7327">KTOR-7327</a>)</li> <li>Support CIO server on WasmJS and JS targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-865">KTOR-865</a>)</li> <li>Logging: Format log like OkHttp client does (<a href="https://youtrack.jetbrains.com/issue/KTOR-7806">KTOR-7806</a>)</li> <li>Support static linking for curl on all platforms (<a href="https://youtrack.jetbrains.com/issue/KTOR-6754">KTOR-6754</a>)</li> <li>Support ARM target in Ktor client with Kotlin/Native and Curl (<a href="https://youtrack.jetbrains.com/issue/KTOR-4570">KTOR-4570</a>)</li> <li>Unix Domain Socket Support for Native Targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-6960">KTOR-6960</a>)</li> <li>Support receiving multipart data with Ktor client (<a href="https://youtrack.jetbrains.com/issue/KTOR-6632">KTOR-6632</a>)</li> <li>Client CIO engine support for wasm-js and js (<a href="https://youtrack.jetbrains.com/issue/KTOR-7675">KTOR-7675</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ktorio/ktor/blob/main/CHANGELOG.md">io.ktor:ktor-client-content-negotiation's changelog</a>.</em></p> <blockquote> <h1>3.1.2</h1> <blockquote> <p>Published 27 March 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Update Kotlin to 2.1.20 (<a href="https://youtrack.jetbrains.com/issue/KTOR-8081">KTOR-8081</a>)</li> <li>Remove empty artifacts from publication (<a href="https://youtrack.jetbrains.com/issue/KTOR-8336">KTOR-8336</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>URL-safe base64 decoding problem (<a href="https://youtrack.jetbrains.com/issue/KTOR-8292">KTOR-8292</a>)</li> <li>Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (<a href="https://youtrack.jetbrains.com/issue/KTOR-8312">KTOR-8312</a>)</li> <li>Android: &quot;Array has more than one element&quot; error when starting a server with release build (<a href="https://youtrack.jetbrains.com/issue/KTOR-7298">KTOR-7298</a>)</li> <li>WebSockets: extensions in sec-websocket-extensions header must be separated by comma (<a href="https://youtrack.jetbrains.com/issue/KTOR-6384">KTOR-6384</a>)</li> <li>OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (<a href="https://youtrack.jetbrains.com/issue/KTOR-8244">KTOR-8244</a>)</li> </ul> <h1>3.1.1</h1> <blockquote> <p>Published 24 February 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Logging: messages are printed per line with OkHttp logger format (<a href="https://youtrack.jetbrains.com/issue/KTOR-8218">KTOR-8218</a>)</li> <li>WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (<a href="https://youtrack.jetbrains.com/issue/KTOR-8206">KTOR-8206</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>formData: implementation of copying Source is broken (<a href="https://youtrack.jetbrains.com/issue/KTOR-8210">KTOR-8210</a>)</li> <li>Race condition when writing to a buffer leads to NPE inside CIOReaderKt.readFrom (<a href="https://youtrack.jetbrains.com/issue/KTOR-8105">KTOR-8105</a>)</li> <li>TLS client: IOException while writing to a closed TLS socket since 3.0.0 (<a href="https://youtrack.jetbrains.com/issue/KTOR-7860">KTOR-7860</a>)</li> <li>Exception thrown in onCallRespond makes the client wait for response indefinitely (<a href="https://youtrack.jetbrains.com/issue/KTOR-7139">KTOR-7139</a>)</li> <li>HttpCache: Cache isn't updated when Vary header for 304 response matches but not equal to Vary for 200 response (<a href="https://youtrack.jetbrains.com/issue/KTOR-7104">KTOR-7104</a>)</li> <li>OOM on SourceByteReadChannel for large input (<a href="https://youtrack.jetbrains.com/issue/KTOR-8190">KTOR-8190</a>)</li> <li>ArrayIndexOutOfBounds kotlinx-io (<a href="https://youtrack.jetbrains.com/issue/KTOR-8096">KTOR-8096</a>)</li> <li>NPE in readBuffer (<a href="https://youtrack.jetbrains.com/issue/KTOR-8086">KTOR-8086</a>)</li> <li>JS/WASM fails with &quot;IllegalStateException: Content-Length mismatch&quot; on requesting gzipped content (<a href="https://youtrack.jetbrains.com/issue/KTOR-7934">KTOR-7934</a>)</li> <li>Resources: a / route isn't resolved when there is a sibling <code>staticResources</code> (<a href="https://youtrack.jetbrains.com/issue/KTOR-6671">KTOR-6671</a>)</li> <li>Server accepts \r without a following \n as a valid line terminator in chunked transfer encoding (<a href="https://youtrack.jetbrains.com/issue/KTOR-8015">KTOR-8015</a>)</li> </ul> <h1>3.1.0</h1> <blockquote> <p>Published 11 February 2025</p> </blockquote> <h3>Features</h3> <ul> <li>Add reconnection in ClientSSESession (<a href="https://youtrack.jetbrains.com/issue/KTOR-6242">KTOR-6242</a>)</li> <li>Add heartbeat to SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7908">KTOR-7908</a>)</li> <li>Add serialization for SSE (<a href="https://youtrack.jetbrains.com/issue/KTOR-7435">KTOR-7435</a>)</li> <li>Support WebSockets in Curl engine (<a href="https://youtrack.jetbrains.com/issue/KTOR-5199">KTOR-5199</a>)</li> <li>Support conversion between byte channel interfaces and kotlinx-io primitives (<a href="https://youtrack.jetbrains.com/issue/KTOR-7327">KTOR-7327</a>)</li> <li>Support CIO server on WasmJS and JS targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-865">KTOR-865</a>)</li> <li>Logging: Format log like OkHttp client does (<a href="https://youtrack.jetbrains.com/issue/KTOR-7806">KTOR-7806</a>)</li> <li>Support static linking for curl on all platforms (<a href="https://youtrack.jetbrains.com/issue/KTOR-6754">KTOR-6754</a>)</li> <li>Support ARM target in Ktor client with Kotlin/Native and Curl (<a href="https://youtrack.jetbrains.com/issue/KTOR-4570">KTOR-4570</a>)</li> <li>Unix Domain Socket Support for Native Targets (<a href="https://youtrack.jetbrains.com/issue/KTOR-6960">KTOR-6960</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ktorio/ktor/commit/7b5e3138f10d6353ec589fd5fa643bcd23df9c6a"><code>7b5e313</code></a> Release 3.1.2 (<a href="https://redirect.github.com/ktorio/ktor/issues/4763">#4763</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/f43b7ca11e697177f41e39c3b707cac10b9edb61"><code>f43b7ca</code></a> Update jetty monorepo to v11.0.25 (<a href="https://redirect.github.com/ktorio/ktor/issues/4750">#4750</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/4064009d928b9c2d29e42085c8a356b7869cfb74"><code>4064009</code></a> Fix some flaky tests (<a href="https://redirect.github.com/ktorio/ktor/issues/4759">#4759</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/788b811baa0c612b7cf56716bfb2eb80ca939ab9"><code>788b811</code></a> Don't update develocity plugin automatically (<a href="https://redirect.github.com/ktorio/ktor/issues/4755">#4755</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/7fe92611582d6774c322c9ed538ddc5e8d2f8ac6"><code>7fe9261</code></a> Update kotlin monorepo to v2.1.20 (<a href="https://redirect.github.com/ktorio/ktor/issues/4751">#4751</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/0541e648ecb4a412ca15b4dcde51cf80d6807cee"><code>0541e64</code></a> Update ktor monorepo to v3.2.0-eap-1264 (<a href="https://redirect.github.com/ktorio/ktor/issues/4752">#4752</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/c438c2b48d9a2d548376d6ce3f056f07fec55fa6"><code>c438c2b</code></a> KTOR-7667: Enable Gradle configuration cache (<a href="https://redirect.github.com/ktorio/ktor/issues/4741">#4741</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/8a8b1867a503bdd539348cb10b03976fa719635f"><code>8a8b186</code></a> KTOR-8344 Enable build cache for settings plugins (<a href="https://redirect.github.com/ktorio/ktor/issues/4745">#4745</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/6e316974b280a4306972ee71919d881f714839cc"><code>6e31697</code></a> KTOR-7743 Make projects isolated (<a href="https://redirect.github.com/ktorio/ktor/issues/4740">#4740</a>)</li> <li><a href="https://github.com/ktorio/ktor/commit/bbf42373a496856f7fcf41ba6e6ebf3466a1d593"><code>bbf4237</code></a> KTOR-8312 Make the clearToken behavior consistent (<a href="https://redirect.github.com/ktorio/ktor/issues/4735">#4735</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ktorio/ktor/compare/3.0.1...3.1.2">compare view</a></li> </ul> </details> <br /> Updates `io.ktor:ktor-serialization-kotlinx-json` from 3.0.1 to 3.1.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ktorio/ktor/releases">io.ktor:ktor-serialization-kotlinx-json's releases</a>.</em></p> <blockquote> <h2>3.1.2</h2> <blockquote> <p>Published 27 March 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Update Kotlin to 2.1.20 (<a href="https://youtrack.jetbrains.com/issue/KTOR-8081">KTOR-8081</a>)</li> <li>Remove empty artifacts from publication (<a href="https://youtrack.jetbrains.com/issue/KTOR-8336">KTOR-8336</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>URL-safe base64 decoding problem (<a href="https://youtrack.jetbrains.com/issue/KTOR-8292">KTOR-8292</a>)</li> <li>Auth: AuthTokenHolder.clearToken executed in the middle of an ongoing token update doesn't actually clear (<a href="https://youtrack.jetbrains.com/issue/KTOR-8312">KTOR-8312</a>)</li> <li>Android: &quot;Array has more than one element&quot; error when starting a server with release build (<a href="https://youtrack.jetbrains.com/issue/KTOR-7298">KTOR-7298</a>)</li> <li>WebSockets: extensions in sec-websocket-extensions header must be separated by comma (<a href="https://youtrack.jetbrains.com/issue/KTOR-6384">KTOR-6384</a>)</li> <li>OkHttp: Cancelling of SSESession.incoming flow doesn't cancel connection (<a href="https://youtrack.jetbrains.com/issue/KTOR-8244">KTOR-8244</a>)</li> </ul> <h2>3.1.1</h2> <blockquote> <p>Published 24 February 2025</p> </blockquote> <h3>Improvements</h3> <ul> <li>Logging: messages are printed per line with OkHttp logger format (<a href="https://youtrack.jetbrains.com/issue/KTOR-8218">KTOR-8218</a>)</li> <li>WebSocket and SSE don't respect connection timeout set in the HttpTimeout plugin (<a href="https://youtrack.jetbrains.com/issue/KTOR-8206">KTOR-8206</a>)</li> </ul> <h3>Bugfixes</h3> <ul> <li>formData: implementation of copying Source is... _Description has been truncated_
melod1n commented 2025-03-31 20:13:12 +03:00 (Migrated from github.com)

@dependabot squash and merge

@dependabot squash and merge
Sign in to join this conversation.